{
// create complex parameter
org.eclipse.uml2.uml.Class oParameterClass = (org.eclipse.uml2.uml.Class)in_oParameter.getType();
if(oParameterClass.getAllAttributes().size() > 0)
{
TCGComplexParameter oComplexTCGParameter = GeneratedFactory.eINSTANCE.createTCGComplexParameter();
oComplexTCGParameter.setReference(in_oParameter);
oComplexTCGParameter.setValueType(in_oParameter.getType());
oComplexTCGParameter.setName(in_oParameter.getName());
for(Property oProperty : oParameterClass.getAllAttributes())
{
TCGParameter oParam = createTCGParameter(oProperty);
oComplexTCGParameter.getParameter().add(oParam);
}
oRetParam = oComplexTCGParameter;
} else {
oRetParam = createPrimitiveTCGParameter(in_oParameter);
}