public String getMethodStatementSourceCode(XUnoMethodNode _oUnoMethodNode, String _sVariableName, UnoObjectDefinition _oUnoReturnObjectDefinition){
String sReturnObjectVariableDefinition = "";
String sStatement = "";
XIdlMethod xIdlMethod = _oUnoMethodNode.getXIdlMethod();
TypeClass aReturnTypeClass = xIdlMethod.getReturnType().getTypeClass();
UnoObjectDefinition oUnoObjectDefinition = new UnoObjectDefinition(_oUnoMethodNode.getUnoObject(), _oUnoMethodNode.getClassName());
String sVariableStemName = this.generateVariableNameFromMethod(xIdlMethod);
sStatement += addQueryInterfaceSourceCode(oUnoObjectDefinition, _sVariableName, oUnoObjectDefinition.getTypeName());
if (_oUnoReturnObjectDefinition.getTypeClass().getValue() != TypeClass.VOID_value){
sReturnObjectVariableDefinition = getVariableInitialization(_oUnoReturnObjectDefinition, false) + " = ";
}
Object[] oParamObjects = _oUnoReturnObjectDefinition.getParameterObjects();
String sParameterCode = getMethodParameterValueDescription(_oUnoMethodNode, oParamObjects, false);
String sSeparator = m_xLanguageSourceCodeGenerator.getMethodSeparator();
sStatement += "\t" + sReturnObjectVariableDefinition + oUnoObjectDefinition.getVariableName() + sSeparator + xIdlMethod.getName() + "(" + sParameterCode + ")";
sStatement += m_xLanguageSourceCodeGenerator.getStatementTerminationCharacter();
addExceptions(xIdlMethod);
return sStatement;
}