ExecutionEngine InvokableProfile

From Gcube Wiki
Revision as of 12:13, 12 February 2010 by Giorgos.papanikos (Talk | contribs)

Jump to: navigation, search

Eclipse Plug-in

Java Object

As a concrete example, lets assume we want to profile the following class

public class Calculator implements IExecutionContextEnabled {
	private int salt = 0;
	private IExecutionContext Context = null;
 
	public Calculator(){}
	public Calculator(int salt) {this.salt = salt;}
	public static int GetProposedSalt(){return 10;}
	public int add(int []parts) {
		int count=0;
		for(int i=0;i<parts.length;i+=1) {count+=parts[i];}
		return count;
	}
	public int add(int [][][]parts) {
		int count=0;
		for(int i=0;i<parts.length;i+=1) { for(int q=0;q<parts[i].length;q+=1) { count+=this.add(parts[i][q]); } }
		return count;
	}
	public int[] add(int [][]parts) {
		int []res=new int[parts.length];
		for(int i=0;i<parts.length;i+=1) {
			int count=0;
			for(int q=0;q<parts[i].length;q+=1) { count+=parts[i][q]; }
			res[i]=count;
		}
		return res;
	}
	public int add(CalculatorHolder []holders) {
		int count=0;
		for(int i=0;i<holders.length;i+=1) { count+=(holders[i].X+holders[i].Y); }
		return count;
	}
	public CalculatorHolder[] add(CalculatorHolder [][]holders) {
		CalculatorHolder []res=new CalculatorHolder[holders.length];
		for(int i=0;i<holders.length;i+=1)
		{
			int count=0;
			for(int q=0;q<holders[i].length;q+=1){ count+=(holders[i][q].X+holders[i][q].Y); }
			res[i]=new CalculatorHolder();
			res[i].Result=count;
		}
		return res;
	}
	public CalculatorHolder[][] random() {
		CalculatorHolder[][] ret=new CalculatorHolder[3][3];
		ret[0][0]=new CalculatorHolder(1);
		ret[0][1]=new CalculatorHolder(2);
		ret[0][2]=new CalculatorHolder(3);
		ret[1][0]=new CalculatorHolder(4);
		ret[1][1]=new CalculatorHolder(5);
		ret[1][2]=new CalculatorHolder(6);
		ret[2][0]=new CalculatorHolder(7);
		ret[2][1]=new CalculatorHolder(8);
		ret[2][2]=new CalculatorHolder(9);
		return ret;
	}
	public int add(int x, Integer y) {
		if (this.Context != null) this.Context.Report("in the process of adding");
		return x + y;
	}
	public int minus(int x, Integer y){
		if (this.Context != null) this.Context.Report("in the process of subtracting");
		return x - y;
	}
	public int multiply(int x, Integer y) {
		if (this.Context != null) this.Context.Report("in the process of multiplying");
		return x * y;
	}
	public int multiplySalted(int x, Integer y) {
		if (this.Context != null) this.Context.Report("in the process of multiplying with salt");
		return x * y * this.salt;
	}
	public CalculatorHolder multiplySaltedHolder(CalculatorHolder Holder) {
		if (this.Context != null) this.Context.Report("in the process of multiplying with salt with holder info");
		Holder.Result = Holder.X * Holder.Y * Holder.Salt;
		return Holder;
	}
	public IExecutionContext GetExecutionContext() { return this.Context; }
	public void SetExecutionContext(IExecutionContext Context) { this.Context = Context; }
}

The respective Invokable Profile for this Java Object could be the following

<?xml version="1.0" encoding="UTF-8"?>
<execprf:InvocableProfile xmlns:execprf="http://profile.execution.madgik.di.uoa.gr" type="Pojo">
   <execprf:item>
      <execprf:className value="gr.uoa.di.madgik.callables.test.Calculator"/>
      <execprf:context supported="true">
         <execprf:type value="Simple"/>
         <execprf:keepAlive value="false"/>
         <execprf:reportsProgress value="true"/>
         <execprf:gRSProxy value="false"/>
      </execprf:context>
   </execprf:item>
   <execprf:calls>
      <execprf:call type="Simple">
         <execprf:method name="gr.uoa.di.madgik.callables.test.Calculator"/>
         <execprf:signature>public gr.uoa.di.madgik.callables.test.Calculator()</execprf:signature>
      </execprf:call>
      <execprf:call type="Simple">
         <execprf:method name="gr.uoa.di.madgik.callables.test.Calculator"/>
         <execprf:signature>public gr.uoa.di.madgik.callables.test.Calculator(int)</execprf:signature>
         <execprf:argument type="Simple">
            <execprf:order value="0"/>
            <execprf:name value="salt"/>
            <execprf:token value="[execprfBeginToken]salt[execprfEndToken]"/>
            <execprf:type value="int"/>
            <execprf:engineType value="IntegerPrimitive"/>
            <execprf:converter value="none"/>
         </execprf:argument>
      </execprf:call>
      <execprf:call type="Simple">
         <execprf:method name="minus"/>
         <execprf:signature>public int gr.uoa.di.madgik.callables.test.Calculator.minus(int,java.lang.Integer)</execprf:signature>
         <execprf:argument type="Simple">
            <execprf:order value="0"/>
            <execprf:name value="x"/>
            <execprf:token value="[execprfBeginToken]x[execprfEndToken]"/>
            <execprf:type value="int"/>
            <execprf:engineType value="IntegerPrimitive"/>
            <execprf:converter value="none"/>
         </execprf:argument>
         <execprf:argument type="Simple">
            <execprf:order value="1"/>
            <execprf:name value="y"/>
            <execprf:token value="[execprfBeginToken]y[execprfEndToken]"/>
            <execprf:type value="java.lang.Integer"/>
            <execprf:engineType value="IntegerClass"/>
            <execprf:converter value="none"/>
         </execprf:argument>
         <execprf:return>
            <execprf:type value="int"/>
            <execprf:engineType value="IntegerPrimitive"/>
            <execprf:converter value="none"/>
         </execprf:return>
      </execprf:call>
      <execprf:call type="Simple">
         <execprf:method name="GetProposedSalt"/>
         <execprf:signature>public static int gr.uoa.di.madgik.callables.test.Calculator.GetProposedSalt()</execprf:signature>
         <execprf:return>
            <execprf:type value="int"/>
            <execprf:engineType value="IntegerPrimitive"/>
            <execprf:converter value="none"/>
         </execprf:return>
      </execprf:call>
      <execprf:call type="Simple">
         <execprf:method name="multiplySalted"/>
         <execprf:signature>public int gr.uoa.di.madgik.callables.test.Calculator.multiplySalted(int,java.lang.Integer)</execprf:signature>
         <execprf:argument type="Simple">
            <execprf:order value="0"/>
            <execprf:name value="x"/>
            <execprf:token value="[execprfBeginToken]x[execprfEndToken]"/>
            <execprf:type value="int"/>
            <execprf:engineType value="IntegerPrimitive"/>
            <execprf:converter value="none"/>
         </execprf:argument>
         <execprf:argument type="Simple">
            <execprf:order value="1"/>
            <execprf:name value="y"/>
            <execprf:token value="[execprfBeginToken]y[execprfEndToken]"/>
            <execprf:type value="java.lang.Integer"/>
            <execprf:engineType value="IntegerClass"/>
            <execprf:converter value="none"/>
         </execprf:argument>
         <execprf:return>
            <execprf:type value="int"/>
            <execprf:engineType value="IntegerPrimitive"/>
            <execprf:converter value="none"/>
         </execprf:return>
      </execprf:call>
      <execprf:call type="Simple">
         <execprf:method name="multiplySaltedHolder"/>
         <execprf:signature>public gr.uoa.di.madgik.callables.test.CalculatorHolder gr.uoa.di.madgik.callables.test.Calculator.multiplySaltedHolder(gr.uoa.di.madgik.callables.test.CalculatorHolder)</execprf:signature>
         <execprf:argument type="Simple">
            <execprf:order value="0"/>
            <execprf:name value="Holder"/>
            <execprf:token value="[execprfBeginToken]Holder[execprfEndToken]"/>
            <execprf:type value="gr.uoa.di.madgik.callables.test.CalculatorHolder"/>
            <execprf:engineType value="Convertable"/>
            <execprf:converter value="gr.uoa.di.madgik.execution.test.CalculatorHolderConverter"/>
         </execprf:argument>
         <execprf:return>
            <execprf:type value="gr.uoa.di.madgik.callables.test.CalculatorHolder"/>
            <execprf:engineType value="Convertable"/>
            <execprf:converter value="gr.uoa.di.madgik.execution.test.CalculatorHolderConverter"/>
         </execprf:return>
      </execprf:call>
      <execprf:call type="Simple">
         <execprf:method name="add"/>
         <execprf:signature>public int gr.uoa.di.madgik.callables.test.Calculator.add(int[])</execprf:signature>
         <execprf:argument type="Simple">
            <execprf:order value="0"/>
            <execprf:name value="parts"/>
            <execprf:token value="[execprfBeginToken]parts[execprfEndToken]"/>
            <execprf:type value="[I"/>
            <execprf:engineType value="[IntegerPrimitive"/>
            <execprf:converter value="none"/>
         </execprf:argument>
         <execprf:return>
            <execprf:type value="int"/>
            <execprf:engineType value="IntegerPrimitive"/>
            <execprf:converter value="none"/>
         </execprf:return>
      </execprf:call>
      <execprf:call type="Simple">
         <execprf:method name="add"/>
         <execprf:signature>public int gr.uoa.di.madgik.callables.test.Calculator.add(int[][][])</execprf:signature>
         <execprf:argument type="Simple">
            <execprf:order value="0"/>
            <execprf:name value="parts"/>
            <execprf:token value="[execprfBeginToken]parts[execprfEndToken]"/>
            <execprf:type value="[[[I"/>
            <execprf:engineType value="[[[IntegerPrimitive"/>
            <execprf:converter value="none"/>
         </execprf:argument>
         <execprf:return>
            <execprf:type value="int"/>
            <execprf:engineType value="IntegerPrimitive"/>
            <execprf:converter value="none"/>
         </execprf:return>
      </execprf:call>
      <execprf:call type="Simple">
         <execprf:method name="add"/>
         <execprf:signature>public int[] gr.uoa.di.madgik.callables.test.Calculator.add(int[][])</execprf:signature>
         <execprf:argument type="Simple">
            <execprf:order value="0"/>
            <execprf:name value="parts"/>
            <execprf:token value="[execprfBeginToken]parts[execprfEndToken]"/>
            <execprf:type value="[[I"/>
            <execprf:engineType value="[[IntegerPrimitive"/>
            <execprf:converter value="none"/>
         </execprf:argument>
         <execprf:return>
            <execprf:type value="[I"/>
            <execprf:engineType value="[IntegerPrimitive"/>
            <execprf:converter value="none"/>
         </execprf:return>
      </execprf:call>
      <execprf:call type="Simple">
         <execprf:method name="add"/>
         <execprf:signature>public int gr.uoa.di.madgik.callables.test.Calculator.add(gr.uoa.di.madgik.callables.test.CalculatorHolder[])</execprf:signature>
         <execprf:argument type="Simple">
            <execprf:order value="0"/>
            <execprf:name value="holders"/>
            <execprf:token value="[execprfBeginToken]holders[execprfEndToken]"/>
            <execprf:type value="[Lgr.uoa.di.madgik.callables.test.CalculatorHolder;"/>
            <execprf:engineType value="[Convertable"/>
            <execprf:converter value="gr.uoa.di.madgik.execution.test.CalculatorHolderConverter"/>
         </execprf:argument>
         <execprf:return>
            <execprf:type value="int"/>
            <execprf:engineType value="IntegerPrimitive"/>
            <execprf:converter value="none"/>
         </execprf:return>
      </execprf:call>
      <execprf:call type="Simple">
         <execprf:method name="add"/>
         <execprf:signature>public gr.uoa.di.madgik.callables.test.CalculatorHolder[] gr.uoa.di.madgik.callables.test.Calculator.add(gr.uoa.di.madgik.callables.test.CalculatorHolder[][])</execprf:signature>
         <execprf:argument type="Simple">
            <execprf:order value="0"/>
            <execprf:name value="holders"/>
            <execprf:token value="[execprfBeginToken]holders[execprfEndToken]"/>
            <execprf:type value="[[Lgr.uoa.di.madgik.callables.test.CalculatorHolder;"/>
            <execprf:engineType value="[[Convertable"/>
            <execprf:converter value="gr.uoa.di.madgik.execution.test.CalculatorHolderConverter"/>
         </execprf:argument>
         <execprf:return>
            <execprf:type value="[Lgr.uoa.di.madgik.callables.test.CalculatorHolder;"/>
            <execprf:engineType value="[Convertable"/>
            <execprf:converter value="gr.uoa.di.madgik.execution.test.CalculatorHolderConverter"/>
         </execprf:return>
      </execprf:call>
      <execprf:call type="Simple">
         <execprf:method name="add"/>
         <execprf:signature>public int gr.uoa.di.madgik.callables.test.Calculator.add(int,java.lang.Integer)</execprf:signature>
         <execprf:argument type="Simple">
            <execprf:order value="0"/>
            <execprf:name value="x"/>
            <execprf:token value="[execprfBeginToken]x[execprfEndToken]"/>
            <execprf:type value="int"/>
            <execprf:engineType value="IntegerPrimitive"/>
            <execprf:converter value="none"/>
         </execprf:argument>
         <execprf:argument type="Simple">
            <execprf:order value="1"/>
            <execprf:name value="y"/>
            <execprf:token value="[execprfBeginToken]y[execprfEndToken]"/>
            <execprf:type value="java.lang.Integer"/>
            <execprf:engineType value="IntegerClass"/>
            <execprf:converter value="none"/>
         </execprf:argument>
         <execprf:return>
            <execprf:type value="int"/>
            <execprf:engineType value="IntegerPrimitive"/>
            <execprf:converter value="none"/>
         </execprf:return>
      </execprf:call>
      <execprf:call type="Simple">
         <execprf:method name="random"/>
         <execprf:signature>public gr.uoa.di.madgik.callables.test.CalculatorHolder[][] gr.uoa.di.madgik.callables.test.Calculator.random()</execprf:signature>
         <execprf:return>
            <execprf:type value="[[Lgr.uoa.di.madgik.callables.test.CalculatorHolder;"/>
            <execprf:engineType value="[[Convertable"/>
            <execprf:converter value="gr.uoa.di.madgik.execution.test.CalculatorHolderConverter"/>
         </execprf:return>
      </execprf:call>
      <execprf:call type="Simple">
         <execprf:method name="multiply"/>
         <execprf:signature>public int gr.uoa.di.madgik.callables.test.Calculator.multiply(int,java.lang.Integer)</execprf:signature>
         <execprf:argument type="Simple">
            <execprf:order value="0"/>
            <execprf:name value="x"/>
            <execprf:token value="[execprfBeginToken]x[execprfEndToken]"/>
            <execprf:type value="int"/>
            <execprf:engineType value="IntegerPrimitive"/>
            <execprf:converter value="none"/>
         </execprf:argument>
         <execprf:argument type="Simple">
            <execprf:order value="1"/>
            <execprf:name value="y"/>
            <execprf:token value="[execprfBeginToken]y[execprfEndToken]"/>
            <execprf:type value="java.lang.Integer"/>
            <execprf:engineType value="IntegerClass"/>
            <execprf:converter value="none"/>
         </execprf:argument>
         <execprf:return>
            <execprf:type value="int"/>
            <execprf:engineType value="IntegerPrimitive"/>
            <execprf:converter value="none"/>
         </execprf:return>
      </execprf:call>
   </execprf:calls>
</execprf:InvocableProfile>

Moving into a more complex example let's assume we want to profile the following class

public class ReflectablesOperator
{
	public ReflectablesOperator(){}
	public PrimitiveContainer ProduceReflectable() {
		PrimitiveContainer cont=new PrimitiveContainer();
		cont.setBooleanClassField(true);
		cont.setBooleanPrimitiveField(false);
		cont.setDoubleClassField(4.6);
		cont.setDoublePrimitiveField(5.2);
		cont.setFloatClassField(2.4f);
		cont.setFloatPrimitiveField(3.6f);
		cont.setIntegerClassField(3);
		cont.setIntegerPrimitiveField(4);
		cont.setStringField("Hello world");
		cont.setPoxyLocatorField(new LocalProxyLocator());
		cont.setStoreLocatorField(new LocalStoreLocator());
		return cont;
	}
	public PrimitiveContainer[] ArrayProduceReflectable() {
		PrimitiveContainer cont=this.ProduceReflectable();
		PrimitiveContainer[] arr=new PrimitiveContainer[]{cont,cont,cont};
		return arr;
	}
	public String ConsumeReflectable(PrimitiveContainer cont) {return cont.toString();}
	public String ArrayConsumeReflectable(PrimitiveContainer[] cont) {
		StringBuilder buf=new StringBuilder();
		buf.append("<array>");
		for(PrimitiveContainer cont1 : cont) { buf.append(cont1.toString()); }
		buf.append("</array>");
		return buf.toString();
	}
	public String ConsumeReflectable(SubPrimitiveContainer cont) { return cont.toString(); }
	public String ArrayConsumeReflectable(SubPrimitiveContainer[] cont)
	{
		StringBuilder buf=new StringBuilder();
		buf.append("<array>");
		for(SubPrimitiveContainer cont1 : cont) { buf.append(cont1.toString()); }
		buf.append("</array>");
		return buf.toString();
	}
	public ArrayOfPrimitiveContainer ProduceArrayofPrimitives() {
		ArrayOfPrimitiveContainer cont=new ArrayOfPrimitiveContainer();
		cont.setIntegerPrimitiveArray(new int[]{1,2,3,4,5,6,7,8,9});
		cont.setIntegerPrimitiveMultiArray(new int[][][][]{ { { {1,2,3},{1,2,3},{1,2,3} }, 
                                                                      { {1,2,3},{1,2,3},{1,2,3} }, 
                                                                      { {1,2,3},{1,2,3},{1,2,3} } }, 
                                                                      { { {1,2,3},{1,2,3},{1,2,3} }, 
                                                                      { {1,2,3},{1,2,3},{1,2,3} }, 
                                                                      { {1,2,3},{1,2,3},{1,2,3} } }, 
                                                                      { { {1,2,3},{1,2,3},{1,2,3} }, 
                                                                      { {1,2,3},{1,2,3},{1,2,3} }, 
                                                                      { {1,2,3},{1,2,3},{1,2,3} } } });
		return cont;
	}
	public ArrayOfPrimitiveContainer[] ArrayProduceArrayofPrimitives()
	{
		ArrayOfPrimitiveContainer cont=new ArrayOfPrimitiveContainer();
		cont.setIntegerPrimitiveArray(new int[]{1,2,3,4,5,6,7,8,9});
		cont.setIntegerPrimitiveMultiArray(new int[][][][]{ { { {1,2,3},{1,2,3},{1,2,3} }, 
                                                                      { {1,2,3},{1,2,3},{1,2,3} }, 
                                                                      { {1,2,3},{1,2,3},{1,2,3} } }, 
                                                                      { { {1,2,3},{1,2,3},{1,2,3} }, 
                                                                      { {1,2,3},{1,2,3},{1,2,3} }, 
                                                                      { {1,2,3},{1,2,3},{1,2,3} } }, 
                                                                      { { {1,2,3},{1,2,3},{1,2,3} }, 
                                                                      { {1,2,3},{1,2,3},{1,2,3} }, 
                                                                      { {1,2,3},{1,2,3},{1,2,3} } } });
		return new ArrayOfPrimitiveContainer[]{cont,cont,cont};
	}
	public String ConsumeArrayofPrimitives(ArrayOfPrimitiveContainer cont){ return cont.toString(); }
	public String ArrayConsumeArrayofPrimitives(ArrayOfPrimitiveContainer []cont) {
		StringBuilder buf=new StringBuilder();
		buf.append("<array>");
		for(ArrayOfPrimitiveContainer cont1 : cont) { buf.append(cont1.toString()); }
		buf.append("</array>");
		return buf.toString();
	}
	public ArrayOfContainers ProduceArrayofContainers() {
		PrimitiveContainer cont=this.ProduceReflectable();
		ArrayOfContainers cont2=new ArrayOfContainers();
		cont2.setCont(cont);
		cont2.setOneDContainers(new PrimitiveContainer[]{cont,cont,cont});
		cont2.setMultiDContainers(new PrimitiveContainer[][][][]{ { { {cont,cont,cont},{cont,cont,cont},{cont,cont,cont} }, 
                                                                            { {cont,cont,cont},{cont,cont,cont},{cont,cont,cont} }, 
                                                                            { {cont,cont,cont},{cont,cont,cont},{cont,cont,cont} } } , 
                                                                            { { {cont,cont,cont},{cont,cont,cont},{cont,cont,cont} }, 
                                                                            { {cont,cont,cont},{cont,cont,cont},{cont,cont,cont} }, 
                                                                            { {cont,cont,cont},{cont,cont,cont},{cont,cont,cont} } }});
		return cont2;
	}
	public ArrayOfContainers []ArrayProduceArrayofContainers()
	{
		PrimitiveContainer cont=this.ProduceReflectable();
		ArrayOfContainers cont2=new ArrayOfContainers();
		cont2.setCont(cont);
		cont2.setOneDContainers(new PrimitiveContainer[]{cont,cont,cont});
		cont2.setMultiDContainers(new PrimitiveContainer[][][][]{ { { {cont,cont,cont},{cont,cont,cont},{cont,cont,cont} }, 
                                                                            { {cont,cont,cont},{cont,cont,cont},{cont,cont,cont} }, 
                                                                            { {cont,cont,cont},{cont,cont,cont},{cont,cont,cont} } } ,
                                                                            { { {cont,cont,cont},{cont,cont,cont},{cont,cont,cont} }, 
                                                                            { {cont,cont,cont},{cont,cont,cont},{cont,cont,cont} }, 
                                                                            { {cont,cont,cont},{cont,cont,cont},{cont,cont,cont} } }});
		return new ArrayOfContainers[]{cont2,cont2,cont2};
	}
	public String ConsumeArrayofContainers(ArrayOfContainers cont) { return cont.toString(); }
	public String ArrayConsumeArrayofContainers(ArrayOfContainers []cont) {
		StringBuilder buf=new StringBuilder();
		buf.append("<array>");
		for(ArrayOfContainers cont1 : cont) { buf.append(cont1.toString()); }
		buf.append("</array>");
		return buf.toString();
	}
	public String ConsumeArrayofSubContainers(ArrayOfSubContainers cont) { return cont.toString(); }
	public String ArrayConsumeArrayofSubContainers(ArrayOfSubContainers []cont) {
		StringBuilder buf=new StringBuilder();
		buf.append("<array>");
		for(ArrayOfSubContainers cont1 : cont) { buf.append(cont1.toString()); }
		buf.append("</array>");
		return buf.toString();
	}
}
 
public class ArrayOfContainers {
	private PrimitiveContainer[] oneDContainers=null;
	private PrimitiveContainer[][][][] multiDContainers=null;
	private PrimitiveContainer cont=null;
 
	public PrimitiveContainer getCont(){return this.cont;}
	public void setCont(PrimitiveContainer val){this.cont=val;}
	public PrimitiveContainer[] getOneDContainers(){return this.oneDContainers;}
	public void setOneDContainers(PrimitiveContainer[] val){this.oneDContainers=val;}
	public PrimitiveContainer[][][][] getMultiDContainers(){return this.multiDContainers;}
	public void setMultiDContainers(PrimitiveContainer[][][][] val){this.multiDContainers=val;}
}
 
public class ArrayOfPrimitiveContainer
{
	public int[] integerPrimitiveArray;
	public int[][][][] integerPrimitiveMultiArray;
 
	public void setIntegerPrimitiveArray(int []val){this.integerPrimitiveArray=val;}
	public int[] getIntegerPrimitiveArray(){return this.integerPrimitiveArray;}
	public void setIntegerPrimitiveMultiArray(int [][][][]val){this.integerPrimitiveMultiArray=val;}
	public int[][][][] getIntegerPrimitiveMultiArray(){return this.integerPrimitiveMultiArray;}
}
 
public class ArrayOfSubContainers
{
	private PrimitiveContainer[] oneDContainers=null;
	private SubPrimitiveContainer[][][][] multiDContainers=null;
	private SubPrimitiveContainer cont=null;
 
	public SubPrimitiveContainer getCont(){return this.cont;}
	public void setCont(SubPrimitiveContainer val){this.cont=val;}
	public PrimitiveContainer[] getOneDContainers(){return this.oneDContainers;}
	public void setOneDContainers(PrimitiveContainer[] val){this.oneDContainers=val;}
	public SubPrimitiveContainer[][][][] getMultiDContainers(){return this.multiDContainers;}
	public void setMultiDContainers(SubPrimitiveContainer[][][][] val){this.multiDContainers=val;}
}
 
public class PrimitiveContainer
{
	private int integerPrimitiveField;
	private boolean booleanPrimitiveField;
	private float floatPrimitiveField;
	private double doublePrimitiveField;
	private Integer integerClassField;
	private Boolean booleanClassField;
	private Float floatClassField;
	private Double doubleClassField;
	private String stringField;
	private IProxyLocator proxyLocatorField;
	private IStoreLocator storeLocatorField;
 
	public int getIntegerPrimitiveField(){return integerPrimitiveField;}
	public boolean getBooleanPrimitiveField(){return booleanPrimitiveField;}
	public float getFloatPrimitiveField(){return floatPrimitiveField;}
	public double getDoublePrimitiveField(){return doublePrimitiveField;}
	public Integer getIntegerClassField(){return integerClassField;}
	public Boolean getBooleanClassField(){return booleanClassField;}
	public Float getFloatClassField(){return floatClassField;}
	public Double getDoubleClassField(){return doubleClassField;}
	public String getStringField(){return stringField;}
	public IProxyLocator getPoxyLocatorField(){return proxyLocatorField;}
	public IStoreLocator getStoreLocatorField(){return storeLocatorField;}
	public void setIntegerPrimitiveField(int val){integerPrimitiveField=val;}
	public void setBooleanPrimitiveField(boolean val){booleanPrimitiveField=val;}
	public void setFloatPrimitiveField(float val){floatPrimitiveField=val;}
	public void setDoublePrimitiveField(double val){doublePrimitiveField=val;}
	public void setIntegerClassField(Integer val){integerClassField=val;}
	public void setBooleanClassField(Boolean val){booleanClassField=val;}
	public void setFloatClassField(Float val){floatClassField=val;}
	public void setDoubleClassField(Double val){doubleClassField=val;}
	public void setStringField(String val){stringField=val;}
	public void setPoxyLocatorField(IProxyLocator val){proxyLocatorField=val;}
	public void setStoreLocatorField(IStoreLocator val){storeLocatorField=val;}
}
 
public class SubPrimitiveContainer
{
	private float floatPrimitiveField;
	private double doublePrimitiveField;
	private Integer integerClassField;
	private Boolean booleanClassField;
	private String stringField;
	private IProxyLocator proxyLocatorField;
 
	public float getFloatPrimitiveField(){return floatPrimitiveField;}
	public double getDoublePrimitiveField(){return doublePrimitiveField;}
	public Integer getIntegerClassField(){return integerClassField;}
	public Boolean getBooleanClassField(){return booleanClassField;}
	public String getStringField(){return stringField;}
	public IProxyLocator getPoxyLocatorField(){return proxyLocatorField;}
	public void setFloatPrimitiveField(float val){floatPrimitiveField=val;}
	public void setDoublePrimitiveField(double val){doublePrimitiveField=val;}
	public void setIntegerClassField(Integer val){integerClassField=val;}
	public void setBooleanClassField(Boolean val){booleanClassField=val;}
	public void setStringField(String val){stringField=val;}
	public void setPoxyLocatorField(IProxyLocator val){proxyLocatorField=val;}
}

The respective Invokable Profile for this Java Object could be the following

<?xml version="1.0" encoding="UTF-8"?>
<execprf:InvocableProfile xmlns:execprf="http://profile.execution.madgik.di.uoa.gr" type="Pojo">
   <execprf:item>
      <execprf:className value="gr.uoa.di.madgik.callables.test.ReflectablesOperator"/>
      <execprf:context supported="false"/>
   </execprf:item>
   <execprf:calls>
      <execprf:call type="Simple">
         <execprf:method name="gr.uoa.di.madgik.callables.test.ReflectablesOperator"/>
         <execprf:signature>public gr.uoa.di.madgik.callables.test.ReflectablesOperator()</execprf:signature>
      </execprf:call>
      <execprf:call type="Simple">
         <execprf:method name="ProduceReflectable"/>
         <execprf:signature>public gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer gr.uoa.di.madgik.callables.test.ReflectablesOperator.ProduceReflectable()</execprf:signature>
         <execprf:return>
            <execprf:type value="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer"/>
            <execprf:engineType value="Reflectable"/>
            <execprf:reflectableDescr>
               <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer">
                  <execprf:item>
                     <execprf:name value="StoreLocatorField"/>
                     <execprf:type value="gr.uoa.di.madgik.grs.store.share.locator.IStoreLocator"/>
                     <execprf:engineType value="RecordStore"/>
                  </execprf:item>
                  <execprf:item>
                     <execprf:name value="IntegerPrimitiveField"/>
                     <execprf:type value="int"/>
                     <execprf:engineType value="IntegerPrimitive"/>
                  </execprf:item>
                  <execprf:item>
                     <execprf:name value="StringField"/>
                     <execprf:type value="java.lang.String"/>
                     <execprf:engineType value="String"/>
                  </execprf:item>
                  <execprf:item>
                     <execprf:name value="BooleanClassField"/>
                     <execprf:type value="java.lang.Boolean"/>
                     <execprf:engineType value="BooleanClass"/>
                  </execprf:item>
                  <execprf:item>
                     <execprf:name value="FloatPrimitiveField"/>
                     <execprf:type value="float"/>
                     <execprf:engineType value="FloatPrimitive"/>
                  </execprf:item>
                  <execprf:item>
                     <execprf:name value="IntegerClassField"/>
                     <execprf:type value="java.lang.Integer"/>
                     <execprf:engineType value="IntegerClass"/>
                  </execprf:item>
                  <execprf:item>
                     <execprf:name value="BooleanPrimitiveField"/>
                     <execprf:type value="boolean"/>
                     <execprf:engineType value="BooleanPrimitive"/>
                  </execprf:item>
                  <execprf:item>
                     <execprf:name value="DoublePrimitiveField"/>
                     <execprf:type value="double"/>
                     <execprf:engineType value="DoublePrimitive"/>
                  </execprf:item>
                  <execprf:item>
                     <execprf:name value="FloatClassField"/>
                     <execprf:type value="java.lang.Float"/>
                     <execprf:engineType value="FloatClass"/>
                  </execprf:item>
                  <execprf:item>
                     <execprf:name value="DoubleClassField"/>
                     <execprf:type value="java.lang.Double"/>
                     <execprf:engineType value="DoubleClass"/>
                  </execprf:item>
                  <execprf:item>
                     <execprf:name value="PoxyLocatorField"/>
                     <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/>
                     <execprf:engineType value="ResultSet"/>
                  </execprf:item>
               </execprf:refl>
            </execprf:reflectableDescr>
            <execprf:converter value="none"/>
         </execprf:return>
      </execprf:call>
      <execprf:call type="Simple">
         <execprf:method name="ArrayProduceReflectable"/>
         <execprf:signature>public gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer[] gr.uoa.di.madgik.callables.test.ReflectablesOperator.ArrayProduceReflectable()</execprf:signature>
         <execprf:return>
            <execprf:type value="[Lgr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer;"/>
            <execprf:engineType value="[Reflectable"/>
            <execprf:reflectableDescr>
               <execprf:array type="[Reflectable">
                  <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer">
                     <execprf:item>
                        <execprf:name value="DoubleClassField"/>
                        <execprf:type value="java.lang.Double"/>
                        <execprf:engineType value="DoubleClass"/>
                     </execprf:item>
                     <execprf:item>
                        <execprf:name value="IntegerClassField"/>
                        <execprf:type value="java.lang.Integer"/>
                        <execprf:engineType value="IntegerClass"/>
                     </execprf:item>
                     <execprf:item>
                        <execprf:name value="BooleanPrimitiveField"/>
                        <execprf:type value="boolean"/>
                        <execprf:engineType value="BooleanPrimitive"/>
                     </execprf:item>
                     <execprf:item>
                        <execprf:name value="DoublePrimitiveField"/>
                        <execprf:type value="double"/>
                        <execprf:engineType value="DoublePrimitive"/>
                     </execprf:item>
                     <execprf:item>
                        <execprf:name value="IntegerPrimitiveField"/>
                        <execprf:type value="int"/>
                        <execprf:engineType value="IntegerPrimitive"/>
                     </execprf:item>
                     <execprf:item>
                        <execprf:name value="FloatClassField"/>
                        <execprf:type value="java.lang.Float"/>
                        <execprf:engineType value="FloatClass"/>
                     </execprf:item>
                     <execprf:item>
                        <execprf:name value="BooleanClassField"/>
                        <execprf:type value="java.lang.Boolean"/>
                        <execprf:engineType value="BooleanClass"/>
                     </execprf:item>
                     <execprf:item>
                        <execprf:name value="PoxyLocatorField"/>
                        <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/>
                        <execprf:engineType value="ResultSet"/>
                     </execprf:item>
                     <execprf:item>
                        <execprf:name value="StringField"/>
                        <execprf:type value="java.lang.String"/>
                        <execprf:engineType value="String"/>
                     </execprf:item>
                     <execprf:item>
                        <execprf:name value="FloatPrimitiveField"/>
                        <execprf:type value="float"/>
                        <execprf:engineType value="FloatPrimitive"/>
                     </execprf:item>
                     <execprf:item>
                        <execprf:name value="StoreLocatorField"/>
                        <execprf:type value="gr.uoa.di.madgik.grs.store.share.locator.IStoreLocator"/>
                        <execprf:engineType value="RecordStore"/>
                     </execprf:item>
                  </execprf:refl>
               </execprf:array>
            </execprf:reflectableDescr>
            <execprf:converter value="none"/>
         </execprf:return>
      </execprf:call>
      <execprf:call type="Simple">
         <execprf:method name="ConsumeReflectable"/>
         <execprf:signature>public java.lang.String gr.uoa.di.madgik.callables.test.ReflectablesOperator.ConsumeReflectable(gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer)</execprf:signature>
         <execprf:argument type="Simple">
            <execprf:order value="0"/>
            <execprf:name value="cont"/>
            <execprf:token value="[execprfBeginToken]cont[execprfEndToken]"/>
            <execprf:type value="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer"/>
            <execprf:engineType value="Reflectable"/>
            <execprf:reflectableDescr>
               <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer">
                  <execprf:item>
                     <execprf:name value="IntegerClassField"/>
                     <execprf:type value="java.lang.Integer"/>
                     <execprf:engineType value="IntegerClass"/>
                  </execprf:item>
                  <execprf:item>
                     <execprf:name value="FloatPrimitiveField"/>
                     <execprf:type value="float"/>
                     <execprf:engineType value="FloatPrimitive"/>
                  </execprf:item>
                  <execprf:item>
                     <execprf:name value="DoublePrimitiveField"/>
                     <execprf:type value="double"/>
                     <execprf:engineType value="DoublePrimitive"/>
                  </execprf:item>
                  <execprf:item>
                     <execprf:name value="FloatClassField"/>
                     <execprf:type value="java.lang.Float"/>
                     <execprf:engineType value="FloatClass"/>
                  </execprf:item>
                  <execprf:item>
                     <execprf:name value="DoubleClassField"/>
                     <execprf:type value="java.lang.Double"/>
                     <execprf:engineType value="DoubleClass"/>
                  </execprf:item>
                  <execprf:item>
                     <execprf:name value="BooleanPrimitiveField"/>
                     <execprf:type value="boolean"/>
                     <execprf:engineType value="BooleanPrimitive"/>
                  </execprf:item>
                  <execprf:item>
                     <execprf:name value="IntegerPrimitiveField"/>
                     <execprf:type value="int"/>
                     <execprf:engineType value="IntegerPrimitive"/>
                  </execprf:item>
                  <execprf:item>
                     <execprf:name value="PoxyLocatorField"/>
                     <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/>
                     <execprf:engineType value="ResultSet"/>
                  </execprf:item>
                  <execprf:item>
                     <execprf:name value="StoreLocatorField"/>
                     <execprf:type value="gr.uoa.di.madgik.grs.store.share.locator.IStoreLocator"/>
                     <execprf:engineType value="RecordStore"/>
                  </execprf:item>
                  <execprf:item>
                     <execprf:name value="BooleanClassField"/>
                     <execprf:type value="java.lang.Boolean"/>
                     <execprf:engineType value="BooleanClass"/>
                  </execprf:item>
                  <execprf:item>
                     <execprf:name value="StringField"/>
                     <execprf:type value="java.lang.String"/>
                     <execprf:engineType value="String"/>
                  </execprf:item>
               </execprf:refl>
            </execprf:reflectableDescr>
            <execprf:converter value="none"/>
         </execprf:argument>
         <execprf:return>
            <execprf:type value="java.lang.String"/>
            <execprf:engineType value="String"/>
            <execprf:converter value="none"/>
         </execprf:return>
      </execprf:call>
      <execprf:call type="Simple">
         <execprf:method name="ConsumeReflectable"/>
         <execprf:signature>public java.lang.String gr.uoa.di.madgik.callables.test.ReflectablesOperator.ConsumeReflectable(gr.uoa.di.madgik.callables.test.reflectable.SubPrimitiveContainer)</execprf:signature>
         <execprf:argument type="Simple">
            <execprf:order value="0"/>
            <execprf:name value="cont"/>
            <execprf:token value="[execprfBeginToken]cont[execprfEndToken]"/>
            <execprf:type value="gr.uoa.di.madgik.callables.test.reflectable.SubPrimitiveContainer"/>
            <execprf:engineType value="Reflectable"/>
            <execprf:reflectableDescr>
               <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.SubPrimitiveContainer">
                  <execprf:item>
                     <execprf:name value="IntegerClassField"/>
                     <execprf:type value="java.lang.Integer"/>
                     <execprf:engineType value="IntegerClass"/>
                  </execprf:item>
                  <execprf:item>
                     <execprf:name value="PoxyLocatorField"/>
                     <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/>
                     <execprf:engineType value="ResultSet"/>
                  </execprf:item>
                  <execprf:item>
                     <execprf:name value="DoublePrimitiveField"/>
                     <execprf:type value="double"/>
                     <execprf:engineType value="DoublePrimitive"/>
                  </execprf:item>
                  <execprf:item>
                     <execprf:name value="StringField"/>
                     <execprf:type value="java.lang.String"/>
                     <execprf:engineType value="String"/>
                  </execprf:item>
                  <execprf:item>
                     <execprf:name value="BooleanClassField"/>
                     <execprf:type value="java.lang.Boolean"/>
                     <execprf:engineType value="BooleanClass"/>
                  </execprf:item>
                  <execprf:item>
                     <execprf:name value="FloatPrimitiveField"/>
                     <execprf:type value="float"/>
                     <execprf:engineType value="FloatPrimitive"/>
                  </execprf:item>
               </execprf:refl>
            </execprf:reflectableDescr>
            <execprf:converter value="none"/>
         </execprf:argument>
         <execprf:return>
            <execprf:type value="java.lang.String"/>
            <execprf:engineType value="String"/>
            <execprf:converter value="none"/>
         </execprf:return>
      </execprf:call>
      <execprf:call type="Simple">
         <execprf:method name="ArrayConsumeReflectable"/>
         <execprf:signature>public java.lang.String gr.uoa.di.madgik.callables.test.ReflectablesOperator.ArrayConsumeReflectable(gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer[])</execprf:signature>
         <execprf:argument type="Simple">
            <execprf:order value="0"/>
            <execprf:name value="cont"/>
            <execprf:token value="[execprfBeginToken]cont[execprfEndToken]"/>
            <execprf:type value="[Lgr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer;"/>
            <execprf:engineType value="[Reflectable"/>
            <execprf:reflectableDescr>
               <execprf:array type="[Reflectable">
                  <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer">
                     <execprf:item>
                        <execprf:name value="StringField"/>
                        <execprf:type value="java.lang.String"/>
                        <execprf:engineType value="String"/>
                     </execprf:item>
                     <execprf:item>
                        <execprf:name value="DoublePrimitiveField"/>
                        <execprf:type value="double"/>
                        <execprf:engineType value="DoublePrimitive"/>
                     </execprf:item>
                     <execprf:item>
                        <execprf:name value="FloatClassField"/>
                        <execprf:type value="java.lang.Float"/>
                        <execprf:engineType value="FloatClass"/>
                     </execprf:item>
                     <execprf:item>
                        <execprf:name value="DoubleClassField"/>
                        <execprf:type value="java.lang.Double"/>
                        <execprf:engineType value="DoubleClass"/>
                     </execprf:item>
                     <execprf:item>
                        <execprf:name value="IntegerPrimitiveField"/>
                        <execprf:type value="int"/>
                        <execprf:engineType value="IntegerPrimitive"/>
                     </execprf:item>
                     <execprf:item>
                        <execprf:name value="StoreLocatorField"/>
                        <execprf:type value="gr.uoa.di.madgik.grs.store.share.locator.IStoreLocator"/>
                        <execprf:engineType value="RecordStore"/>
                     </execprf:item>
                     <execprf:item>
                        <execprf:name value="PoxyLocatorField"/>
                        <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/>
                        <execprf:engineType value="ResultSet"/>
                     </execprf:item>
                     <execprf:item>
                        <execprf:name value="IntegerClassField"/>
                        <execprf:type value="java.lang.Integer"/>
                        <execprf:engineType value="IntegerClass"/>
                     </execprf:item>
                     <execprf:item>
                        <execprf:name value="BooleanClassField"/>
                        <execprf:type value="java.lang.Boolean"/>
                        <execprf:engineType value="BooleanClass"/>
                     </execprf:item>
                     <execprf:item>
                        <execprf:name value="BooleanPrimitiveField"/>
                        <execprf:type value="boolean"/>
                        <execprf:engineType value="BooleanPrimitive"/>
                     </execprf:item>
                     <execprf:item>
                        <execprf:name value="FloatPrimitiveField"/>
                        <execprf:type value="float"/>
                        <execprf:engineType value="FloatPrimitive"/>
                     </execprf:item>
                  </execprf:refl>
               </execprf:array>
            </execprf:reflectableDescr>
            <execprf:converter value="none"/>
         </execprf:argument>
         <execprf:return>
            <execprf:type value="java.lang.String"/>
            <execprf:engineType value="String"/>
            <execprf:converter value="none"/>
         </execprf:return>
      </execprf:call>
      <execprf:call type="Simple">
         <execprf:method name="ArrayConsumeReflectable"/>
         <execprf:signature>public java.lang.String gr.uoa.di.madgik.callables.test.ReflectablesOperator.ArrayConsumeReflectable(gr.uoa.di.madgik.callables.test.reflectable.SubPrimitiveContainer[])</execprf:signature>
         <execprf:argument type="Simple">
            <execprf:order value="0"/>
            <execprf:name value="cont"/>
            <execprf:token value="[execprfBeginToken]cont[execprfEndToken]"/>
            <execprf:type value="[Lgr.uoa.di.madgik.callables.test.reflectable.SubPrimitiveContainer;"/>
            <execprf:engineType value="[Reflectable"/>
            <execprf:reflectableDescr>
               <execprf:array type="[Reflectable">
                  <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.SubPrimitiveContainer">
                     <execprf:item>
                        <execprf:name value="BooleanClassField"/>
                        <execprf:type value="java.lang.Boolean"/>
                        <execprf:engineType value="BooleanClass"/>
                     </execprf:item>
                     <execprf:item>
                        <execprf:name value="FloatPrimitiveField"/>
                        <execprf:type value="float"/>
                        <execprf:engineType value="FloatPrimitive"/>
                     </execprf:item>
                     <execprf:item>
                        <execprf:name value="IntegerClassField"/>
                        <execprf:type value="java.lang.Integer"/>
                        <execprf:engineType value="IntegerClass"/>
                     </execprf:item>
                     <execprf:item>
                        <execprf:name value="DoublePrimitiveField"/>
                        <execprf:type value="double"/>
                        <execprf:engineType value="DoublePrimitive"/>
                     </execprf:item>
                     <execprf:item>
                        <execprf:name value="StringField"/>
                        <execprf:type value="java.lang.String"/>
                        <execprf:engineType value="String"/>
                     </execprf:item>
                     <execprf:item>
                        <execprf:name value="PoxyLocatorField"/>
                        <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/>
                        <execprf:engineType value="ResultSet"/>
                     </execprf:item>
                  </execprf:refl>
               </execprf:array>
            </execprf:reflectableDescr>
            <execprf:converter value="none"/>
         </execprf:argument>
         <execprf:return>
            <execprf:type value="java.lang.String"/>
            <execprf:engineType value="String"/>
            <execprf:converter value="none"/>
         </execprf:return>
      </execprf:call>
      <execprf:call type="Simple">
         <execprf:method name="ProduceArrayofPrimitives"/>
         <execprf:signature>public gr.uoa.di.madgik.callables.test.reflectable.ArrayOfPrimitiveContainer gr.uoa.di.madgik.callables.test.ReflectablesOperator.ProduceArrayofPrimitives()</execprf:signature>
         <execprf:return>
            <execprf:type value="gr.uoa.di.madgik.callables.test.reflectable.ArrayOfPrimitiveContainer"/>
            <execprf:engineType value="Reflectable"/>
            <execprf:reflectableDescr>
               <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.ArrayOfPrimitiveContainer">
                  <execprf:item>
                     <execprf:name value="IntegerPrimitiveMultiArray"/>
                     <execprf:type value="[[[[I"/>
                     <execprf:engineType value="[[[[IntegerPrimitive"/>
                  </execprf:item>
                  <execprf:item>
                     <execprf:name value="IntegerPrimitiveArray"/>
                     <execprf:type value="[I"/>
                     <execprf:engineType value="[IntegerPrimitive"/>
                  </execprf:item>
               </execprf:refl>
            </execprf:reflectableDescr>
            <execprf:converter value="none"/>
         </execprf:return>
      </execprf:call>
      <execprf:call type="Simple">
         <execprf:method name="ArrayProduceArrayofPrimitives"/>
         <execprf:signature>public gr.uoa.di.madgik.callables.test.reflectable.ArrayOfPrimitiveContainer[] gr.uoa.di.madgik.callables.test.ReflectablesOperator.ArrayProduceArrayofPrimitives()</execprf:signature>
         <execprf:return>
            <execprf:type value="[Lgr.uoa.di.madgik.callables.test.reflectable.ArrayOfPrimitiveContainer;"/>
            <execprf:engineType value="[Reflectable"/>
            <execprf:reflectableDescr>
               <execprf:array type="[Reflectable">
                  <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.ArrayOfPrimitiveContainer">
                     <execprf:item>
                        <execprf:name value="IntegerPrimitiveMultiArray"/>
                        <execprf:type value="[[[[I"/>
                        <execprf:engineType value="[[[[IntegerPrimitive"/>
                     </execprf:item>
                     <execprf:item>
                        <execprf:name value="IntegerPrimitiveArray"/>
                        <execprf:type value="[I"/>
                        <execprf:engineType value="[IntegerPrimitive"/>
                     </execprf:item>
                  </execprf:refl>
               </execprf:array>
            </execprf:reflectableDescr>
            <execprf:converter value="none"/>
         </execprf:return>
      </execprf:call>
      <execprf:call type="Simple">
         <execprf:method name="ConsumeArrayofPrimitives"/>
         <execprf:signature>public java.lang.String gr.uoa.di.madgik.callables.test.ReflectablesOperator.ConsumeArrayofPrimitives(gr.uoa.di.madgik.callables.test.reflectable.ArrayOfPrimitiveContainer)</execprf:signature>
         <execprf:argument type="Simple">
            <execprf:order value="0"/>
            <execprf:name value="cont"/>
            <execprf:token value="[execprfBeginToken]cont[execprfEndToken]"/>
            <execprf:type value="gr.uoa.di.madgik.callables.test.reflectable.ArrayOfPrimitiveContainer"/>
            <execprf:engineType value="Reflectable"/>
            <execprf:reflectableDescr>
               <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.ArrayOfPrimitiveContainer">
                  <execprf:item>
                     <execprf:name value="IntegerPrimitiveArray"/>
                     <execprf:type value="[I"/>
                     <execprf:engineType value="[IntegerPrimitive"/>
                  </execprf:item>
                  <execprf:item>
                     <execprf:name value="IntegerPrimitiveMultiArray"/>
                     <execprf:type value="[[[[I"/>
                     <execprf:engineType value="[[[[IntegerPrimitive"/>
                  </execprf:item>
               </execprf:refl>
            </execprf:reflectableDescr>
            <execprf:converter value="none"/>
         </execprf:argument>
         <execprf:return>
            <execprf:type value="java.lang.String"/>
            <execprf:engineType value="String"/>
            <execprf:converter value="none"/>
         </execprf:return>
      </execprf:call>
      <execprf:call type="Simple">
         <execprf:method name="ArrayConsumeArrayofPrimitives"/>
         <execprf:signature>public java.lang.String gr.uoa.di.madgik.callables.test.ReflectablesOperator.ArrayConsumeArrayofPrimitives(gr.uoa.di.madgik.callables.test.reflectable.ArrayOfPrimitiveContainer[])</execprf:signature>
         <execprf:argument type="Simple">
            <execprf:order value="0"/>
            <execprf:name value="cont"/>
            <execprf:token value="[execprfBeginToken]cont[execprfEndToken]"/>
            <execprf:type value="[Lgr.uoa.di.madgik.callables.test.reflectable.ArrayOfPrimitiveContainer;"/>
            <execprf:engineType value="[Reflectable"/>
            <execprf:reflectableDescr>
               <execprf:array type="[Reflectable">
                  <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.ArrayOfPrimitiveContainer">
                     <execprf:item>
                        <execprf:name value="IntegerPrimitiveMultiArray"/>
                        <execprf:type value="[[[[I"/>
                        <execprf:engineType value="[[[[IntegerPrimitive"/>
                     </execprf:item>
                     <execprf:item>
                        <execprf:name value="IntegerPrimitiveArray"/>
                        <execprf:type value="[I"/>
                        <execprf:engineType value="[IntegerPrimitive"/>
                     </execprf:item>
                  </execprf:refl>
               </execprf:array>
            </execprf:reflectableDescr>
            <execprf:converter value="none"/>
         </execprf:argument>
         <execprf:return>
            <execprf:type value="java.lang.String"/>
            <execprf:engineType value="String"/>
            <execprf:converter value="none"/>
         </execprf:return>
      </execprf:call>
      <execprf:call type="Simple">
         <execprf:method name="ProduceArrayofContainers"/>
         <execprf:signature>public gr.uoa.di.madgik.callables.test.reflectable.ArrayOfContainers gr.uoa.di.madgik.callables.test.ReflectablesOperator.ProduceArrayofContainers()</execprf:signature>
         <execprf:return>
            <execprf:type value="gr.uoa.di.madgik.callables.test.reflectable.ArrayOfContainers"/>
            <execprf:engineType value="Reflectable"/>
            <execprf:reflectableDescr>
               <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.ArrayOfContainers">
                  <execprf:item>
                     <execprf:name value="Cont"/>
                     <execprf:type value="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer"/>
                     <execprf:engineType value="Reflectable">
                        <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer">
                           <execprf:item>
                              <execprf:name value="StoreLocatorField"/>
                              <execprf:type value="gr.uoa.di.madgik.grs.store.share.locator.IStoreLocator"/>
                              <execprf:engineType value="RecordStore"/>
                           </execprf:item>
                           <execprf:item>
                              <execprf:name value="DoublePrimitiveField"/>
                              <execprf:type value="double"/>
                              <execprf:engineType value="DoublePrimitive"/>
                           </execprf:item>
                           <execprf:item>
                              <execprf:name value="BooleanPrimitiveField"/>
                              <execprf:type value="boolean"/>
                              <execprf:engineType value="BooleanPrimitive"/>
                           </execprf:item>
                           <execprf:item>
                              <execprf:name value="FloatPrimitiveField"/>
                              <execprf:type value="float"/>
                              <execprf:engineType value="FloatPrimitive"/>
                           </execprf:item>
                           <execprf:item>
                              <execprf:name value="PoxyLocatorField"/>
                              <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/>
                              <execprf:engineType value="ResultSet"/>
                           </execprf:item>
                           <execprf:item>
                              <execprf:name value="FloatClassField"/>
                              <execprf:type value="java.lang.Float"/>
                              <execprf:engineType value="FloatClass"/>
                           </execprf:item>
                           <execprf:item>
                              <execprf:name value="IntegerClassField"/>
                              <execprf:type value="java.lang.Integer"/>
                              <execprf:engineType value="IntegerClass"/>
                           </execprf:item>
                           <execprf:item>
                              <execprf:name value="IntegerPrimitiveField"/>
                              <execprf:type value="int"/>
                              <execprf:engineType value="IntegerPrimitive"/>
                           </execprf:item>
                           <execprf:item>
                              <execprf:name value="StringField"/>
                              <execprf:type value="java.lang.String"/>
                              <execprf:engineType value="String"/>
                           </execprf:item>
                           <execprf:item>
                              <execprf:name value="BooleanClassField"/>
                              <execprf:type value="java.lang.Boolean"/>
                              <execprf:engineType value="BooleanClass"/>
                           </execprf:item>
                           <execprf:item>
                              <execprf:name value="DoubleClassField"/>
                              <execprf:type value="java.lang.Double"/>
                              <execprf:engineType value="DoubleClass"/>
                           </execprf:item>
                        </execprf:refl>
                     </execprf:engineType>
                  </execprf:item>
                  <execprf:item>
                     <execprf:name value="OneDContainers"/>
                     <execprf:type value="[Lgr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer;"/>
                     <execprf:engineType value="[Reflectable">
                        <execprf:array type="[Reflectable">
                           <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer">
                              <execprf:item>
                                 <execprf:name value="FloatPrimitiveField"/>
                                 <execprf:type value="float"/>
                                 <execprf:engineType value="FloatPrimitive"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="StringField"/>
                                 <execprf:type value="java.lang.String"/>
                                 <execprf:engineType value="String"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="DoubleClassField"/>
                                 <execprf:type value="java.lang.Double"/>
                                 <execprf:engineType value="DoubleClass"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="PoxyLocatorField"/>
                                 <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/>
                                 <execprf:engineType value="ResultSet"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="DoublePrimitiveField"/>
                                 <execprf:type value="double"/>
                                 <execprf:engineType value="DoublePrimitive"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="IntegerClassField"/>
                                 <execprf:type value="java.lang.Integer"/>
                                 <execprf:engineType value="IntegerClass"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="StoreLocatorField"/>
                                 <execprf:type value="gr.uoa.di.madgik.grs.store.share.locator.IStoreLocator"/>
                                 <execprf:engineType value="RecordStore"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="BooleanPrimitiveField"/>
                                 <execprf:type value="boolean"/>
                                 <execprf:engineType value="BooleanPrimitive"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="IntegerPrimitiveField"/>
                                 <execprf:type value="int"/>
                                 <execprf:engineType value="IntegerPrimitive"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="BooleanClassField"/>
                                 <execprf:type value="java.lang.Boolean"/>
                                 <execprf:engineType value="BooleanClass"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="FloatClassField"/>
                                 <execprf:type value="java.lang.Float"/>
                                 <execprf:engineType value="FloatClass"/>
                              </execprf:item>
                           </execprf:refl>
                        </execprf:array>
                     </execprf:engineType>
                  </execprf:item>
                  <execprf:item>
                     <execprf:name value="MultiDContainers"/>
                     <execprf:type value="[[[[Lgr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer;"/>
                     <execprf:engineType value="[[[[Reflectable">
                        <execprf:array type="[[[[Reflectable">
                           <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer">
                              <execprf:item>
                                 <execprf:name value="DoublePrimitiveField"/>
                                 <execprf:type value="double"/>
                                 <execprf:engineType value="DoublePrimitive"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="FloatPrimitiveField"/>
                                 <execprf:type value="float"/>
                                 <execprf:engineType value="FloatPrimitive"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="PoxyLocatorField"/>
                                 <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/>
                                 <execprf:engineType value="ResultSet"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="StoreLocatorField"/>
                                 <execprf:type value="gr.uoa.di.madgik.grs.store.share.locator.IStoreLocator"/>
                                 <execprf:engineType value="RecordStore"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="IntegerClassField"/>
                                 <execprf:type value="java.lang.Integer"/>
                                 <execprf:engineType value="IntegerClass"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="BooleanPrimitiveField"/>
                                 <execprf:type value="boolean"/>
                                 <execprf:engineType value="BooleanPrimitive"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="DoubleClassField"/>
                                 <execprf:type value="java.lang.Double"/>
                                 <execprf:engineType value="DoubleClass"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="FloatClassField"/>
                                 <execprf:type value="java.lang.Float"/>
                                 <execprf:engineType value="FloatClass"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="BooleanClassField"/>
                                 <execprf:type value="java.lang.Boolean"/>
                                 <execprf:engineType value="BooleanClass"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="IntegerPrimitiveField"/>
                                 <execprf:type value="int"/>
                                 <execprf:engineType value="IntegerPrimitive"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="StringField"/>
                                 <execprf:type value="java.lang.String"/>
                                 <execprf:engineType value="String"/>
                              </execprf:item>
                           </execprf:refl>
                        </execprf:array>
                     </execprf:engineType>
                  </execprf:item>
               </execprf:refl>
            </execprf:reflectableDescr>
            <execprf:converter value="none"/>
         </execprf:return>
      </execprf:call>
      <execprf:call type="Simple">
         <execprf:method name="ArrayProduceArrayofContainers"/>
         <execprf:signature>public gr.uoa.di.madgik.callables.test.reflectable.ArrayOfContainers[] gr.uoa.di.madgik.callables.test.ReflectablesOperator.ArrayProduceArrayofContainers()</execprf:signature>
         <execprf:return>
            <execprf:type value="[Lgr.uoa.di.madgik.callables.test.reflectable.ArrayOfContainers;"/>
            <execprf:engineType value="[Reflectable"/>
            <execprf:reflectableDescr>
               <execprf:array type="[Reflectable">
                  <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.ArrayOfContainers">
                     <execprf:item>
                        <execprf:name value="OneDContainers"/>
                        <execprf:type value="[Lgr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer;"/>
                        <execprf:engineType value="[Reflectable">
                           <execprf:array type="[Reflectable">
                              <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer">
                                 <execprf:item>
                                    <execprf:name value="BooleanClassField"/>
                                    <execprf:type value="java.lang.Boolean"/>
                                    <execprf:engineType value="BooleanClass"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="StoreLocatorField"/>
                                    <execprf:type value="gr.uoa.di.madgik.grs.store.share.locator.IStoreLocator"/>
                                    <execprf:engineType value="RecordStore"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="IntegerPrimitiveField"/>
                                    <execprf:type value="int"/>
                                    <execprf:engineType value="IntegerPrimitive"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="DoublePrimitiveField"/>
                                    <execprf:type value="double"/>
                                    <execprf:engineType value="DoublePrimitive"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="FloatClassField"/>
                                    <execprf:type value="java.lang.Float"/>
                                    <execprf:engineType value="FloatClass"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="FloatPrimitiveField"/>
                                    <execprf:type value="float"/>
                                    <execprf:engineType value="FloatPrimitive"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="StringField"/>
                                    <execprf:type value="java.lang.String"/>
                                    <execprf:engineType value="String"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="PoxyLocatorField"/>
                                    <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/>
                                    <execprf:engineType value="ResultSet"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="IntegerClassField"/>
                                    <execprf:type value="java.lang.Integer"/>
                                    <execprf:engineType value="IntegerClass"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="BooleanPrimitiveField"/>
                                    <execprf:type value="boolean"/>
                                    <execprf:engineType value="BooleanPrimitive"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="DoubleClassField"/>
                                    <execprf:type value="java.lang.Double"/>
                                    <execprf:engineType value="DoubleClass"/>
                                 </execprf:item>
                              </execprf:refl>
                           </execprf:array>
                        </execprf:engineType>
                     </execprf:item>
                     <execprf:item>
                        <execprf:name value="MultiDContainers"/>
                        <execprf:type value="[[[[Lgr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer;"/>
                        <execprf:engineType value="[[[[Reflectable">
                           <execprf:array type="[[[[Reflectable">
                              <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer">
                                 <execprf:item>
                                    <execprf:name value="IntegerPrimitiveField"/>
                                    <execprf:type value="int"/>
                                    <execprf:engineType value="IntegerPrimitive"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="PoxyLocatorField"/>
                                    <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/>
                                    <execprf:engineType value="ResultSet"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="BooleanPrimitiveField"/>
                                    <execprf:type value="boolean"/>
                                    <execprf:engineType value="BooleanPrimitive"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="DoubleClassField"/>
                                    <execprf:type value="java.lang.Double"/>
                                    <execprf:engineType value="DoubleClass"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="FloatClassField"/>
                                    <execprf:type value="java.lang.Float"/>
                                    <execprf:engineType value="FloatClass"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="StringField"/>
                                    <execprf:type value="java.lang.String"/>
                                    <execprf:engineType value="String"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="FloatPrimitiveField"/>
                                    <execprf:type value="float"/>
                                    <execprf:engineType value="FloatPrimitive"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="StoreLocatorField"/>
                                    <execprf:type value="gr.uoa.di.madgik.grs.store.share.locator.IStoreLocator"/>
                                    <execprf:engineType value="RecordStore"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="DoublePrimitiveField"/>
                                    <execprf:type value="double"/>
                                    <execprf:engineType value="DoublePrimitive"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="IntegerClassField"/>
                                    <execprf:type value="java.lang.Integer"/>
                                    <execprf:engineType value="IntegerClass"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="BooleanClassField"/>
                                    <execprf:type value="java.lang.Boolean"/>
                                    <execprf:engineType value="BooleanClass"/>
                                 </execprf:item>
                              </execprf:refl>
                           </execprf:array>
                        </execprf:engineType>
                     </execprf:item>
                     <execprf:item>
                        <execprf:name value="Cont"/>
                        <execprf:type value="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer"/>
                        <execprf:engineType value="Reflectable">
                           <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer">
                              <execprf:item>
                                 <execprf:name value="IntegerPrimitiveField"/>
                                 <execprf:type value="int"/>
                                 <execprf:engineType value="IntegerPrimitive"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="PoxyLocatorField"/>
                                 <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/>
                                 <execprf:engineType value="ResultSet"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="FloatClassField"/>
                                 <execprf:type value="java.lang.Float"/>
                                 <execprf:engineType value="FloatClass"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="FloatPrimitiveField"/>
                                 <execprf:type value="float"/>
                                 <execprf:engineType value="FloatPrimitive"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="BooleanPrimitiveField"/>
                                 <execprf:type value="boolean"/>
                                 <execprf:engineType value="BooleanPrimitive"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="DoublePrimitiveField"/>
                                 <execprf:type value="double"/>
                                 <execprf:engineType value="DoublePrimitive"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="StringField"/>
                                 <execprf:type value="java.lang.String"/>
                                 <execprf:engineType value="String"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="IntegerClassField"/>
                                 <execprf:type value="java.lang.Integer"/>
                                 <execprf:engineType value="IntegerClass"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="StoreLocatorField"/>
                                 <execprf:type value="gr.uoa.di.madgik.grs.store.share.locator.IStoreLocator"/>
                                 <execprf:engineType value="RecordStore"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="DoubleClassField"/>
                                 <execprf:type value="java.lang.Double"/>
                                 <execprf:engineType value="DoubleClass"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="BooleanClassField"/>
                                 <execprf:type value="java.lang.Boolean"/>
                                 <execprf:engineType value="BooleanClass"/>
                              </execprf:item>
                           </execprf:refl>
                        </execprf:engineType>
                     </execprf:item>
                  </execprf:refl>
               </execprf:array>
            </execprf:reflectableDescr>
            <execprf:converter value="none"/>
         </execprf:return>
      </execprf:call>
      <execprf:call type="Simple">
         <execprf:method name="ConsumeArrayofContainers"/>
         <execprf:signature>public java.lang.String gr.uoa.di.madgik.callables.test.ReflectablesOperator.ConsumeArrayofContainers(gr.uoa.di.madgik.callables.test.reflectable.ArrayOfContainers)</execprf:signature>
         <execprf:argument type="Simple">
            <execprf:order value="0"/>
            <execprf:name value="cont"/>
            <execprf:token value="[execprfBeginToken]cont[execprfEndToken]"/>
            <execprf:type value="gr.uoa.di.madgik.callables.test.reflectable.ArrayOfContainers"/>
            <execprf:engineType value="Reflectable"/>
            <execprf:reflectableDescr>
               <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.ArrayOfContainers">
                  <execprf:item>
                     <execprf:name value="OneDContainers"/>
                     <execprf:type value="[Lgr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer;"/>
                     <execprf:engineType value="[Reflectable">
                        <execprf:array type="[Reflectable">
                           <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer">
                              <execprf:item>
                                 <execprf:name value="DoublePrimitiveField"/>
                                 <execprf:type value="double"/>
                                 <execprf:engineType value="DoublePrimitive"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="PoxyLocatorField"/>
                                 <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/>
                                 <execprf:engineType value="ResultSet"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="StringField"/>
                                 <execprf:type value="java.lang.String"/>
                                 <execprf:engineType value="String"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="BooleanClassField"/>
                                 <execprf:type value="java.lang.Boolean"/>
                                 <execprf:engineType value="BooleanClass"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="FloatPrimitiveField"/>
                                 <execprf:type value="float"/>
                                 <execprf:engineType value="FloatPrimitive"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="StoreLocatorField"/>
                                 <execprf:type value="gr.uoa.di.madgik.grs.store.share.locator.IStoreLocator"/>
                                 <execprf:engineType value="RecordStore"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="IntegerPrimitiveField"/>
                                 <execprf:type value="int"/>
                                 <execprf:engineType value="IntegerPrimitive"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="DoubleClassField"/>
                                 <execprf:type value="java.lang.Double"/>
                                 <execprf:engineType value="DoubleClass"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="IntegerClassField"/>
                                 <execprf:type value="java.lang.Integer"/>
                                 <execprf:engineType value="IntegerClass"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="FloatClassField"/>
                                 <execprf:type value="java.lang.Float"/>
                                 <execprf:engineType value="FloatClass"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="BooleanPrimitiveField"/>
                                 <execprf:type value="boolean"/>
                                 <execprf:engineType value="BooleanPrimitive"/>
                              </execprf:item>
                           </execprf:refl>
                        </execprf:array>
                     </execprf:engineType>
                  </execprf:item>
                  <execprf:item>
                     <execprf:name value="MultiDContainers"/>
                     <execprf:type value="[[[[Lgr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer;"/>
                     <execprf:engineType value="[[[[Reflectable">
                        <execprf:array type="[[[[Reflectable">
                           <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer">
                              <execprf:item>
                                 <execprf:name value="BooleanPrimitiveField"/>
                                 <execprf:type value="boolean"/>
                                 <execprf:engineType value="BooleanPrimitive"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="StoreLocatorField"/>
                                 <execprf:type value="gr.uoa.di.madgik.grs.store.share.locator.IStoreLocator"/>
                                 <execprf:engineType value="RecordStore"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="PoxyLocatorField"/>
                                 <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/>
                                 <execprf:engineType value="ResultSet"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="DoublePrimitiveField"/>
                                 <execprf:type value="double"/>
                                 <execprf:engineType value="DoublePrimitive"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="BooleanClassField"/>
                                 <execprf:type value="java.lang.Boolean"/>
                                 <execprf:engineType value="BooleanClass"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="DoubleClassField"/>
                                 <execprf:type value="java.lang.Double"/>
                                 <execprf:engineType value="DoubleClass"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="FloatPrimitiveField"/>
                                 <execprf:type value="float"/>
                                 <execprf:engineType value="FloatPrimitive"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="IntegerPrimitiveField"/>
                                 <execprf:type value="int"/>
                                 <execprf:engineType value="IntegerPrimitive"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="IntegerClassField"/>
                                 <execprf:type value="java.lang.Integer"/>
                                 <execprf:engineType value="IntegerClass"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="FloatClassField"/>
                                 <execprf:type value="java.lang.Float"/>
                                 <execprf:engineType value="FloatClass"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="StringField"/>
                                 <execprf:type value="java.lang.String"/>
                                 <execprf:engineType value="String"/>
                              </execprf:item>
                           </execprf:refl>
                        </execprf:array>
                     </execprf:engineType>
                  </execprf:item>
                  <execprf:item>
                     <execprf:name value="Cont"/>
                     <execprf:type value="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer"/>
                     <execprf:engineType value="Reflectable">
                        <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer">
                           <execprf:item>
                              <execprf:name value="IntegerClassField"/>
                              <execprf:type value="java.lang.Integer"/>
                              <execprf:engineType value="IntegerClass"/>
                           </execprf:item>
                           <execprf:item>
                              <execprf:name value="DoubleClassField"/>
                              <execprf:type value="java.lang.Double"/>
                              <execprf:engineType value="DoubleClass"/>
                           </execprf:item>
                           <execprf:item>
                              <execprf:name value="IntegerPrimitiveField"/>
                              <execprf:type value="int"/>
                              <execprf:engineType value="IntegerPrimitive"/>
                           </execprf:item>
                           <execprf:item>
                              <execprf:name value="BooleanClassField"/>
                              <execprf:type value="java.lang.Boolean"/>
                              <execprf:engineType value="BooleanClass"/>
                           </execprf:item>
                           <execprf:item>
                              <execprf:name value="PoxyLocatorField"/>
                              <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/>
                              <execprf:engineType value="ResultSet"/>
                           </execprf:item>
                           <execprf:item>
                              <execprf:name value="FloatClassField"/>
                              <execprf:type value="java.lang.Float"/>
                              <execprf:engineType value="FloatClass"/>
                           </execprf:item>
                           <execprf:item>
                              <execprf:name value="FloatPrimitiveField"/>
                              <execprf:type value="float"/>
                              <execprf:engineType value="FloatPrimitive"/>
                           </execprf:item>
                           <execprf:item>
                              <execprf:name value="StringField"/>
                              <execprf:type value="java.lang.String"/>
                              <execprf:engineType value="String"/>
                           </execprf:item>
                           <execprf:item>
                              <execprf:name value="BooleanPrimitiveField"/>
                              <execprf:type value="boolean"/>
                              <execprf:engineType value="BooleanPrimitive"/>
                           </execprf:item>
                           <execprf:item>
                              <execprf:name value="DoublePrimitiveField"/>
                              <execprf:type value="double"/>
                              <execprf:engineType value="DoublePrimitive"/>
                           </execprf:item>
                           <execprf:item>
                              <execprf:name value="StoreLocatorField"/>
                              <execprf:type value="gr.uoa.di.madgik.grs.store.share.locator.IStoreLocator"/>
                              <execprf:engineType value="RecordStore"/>
                           </execprf:item>
                        </execprf:refl>
                     </execprf:engineType>
                  </execprf:item>
               </execprf:refl>
            </execprf:reflectableDescr>
            <execprf:converter value="none"/>
         </execprf:argument>
         <execprf:return>
            <execprf:type value="java.lang.String"/>
            <execprf:engineType value="String"/>
            <execprf:converter value="none"/>
         </execprf:return>
      </execprf:call>
      <execprf:call type="Simple">
         <execprf:method name="ArrayConsumeArrayofContainers"/>
         <execprf:signature>public java.lang.String gr.uoa.di.madgik.callables.test.ReflectablesOperator.ArrayConsumeArrayofContainers(gr.uoa.di.madgik.callables.test.reflectable.ArrayOfContainers[])</execprf:signature>
         <execprf:argument type="Simple">
            <execprf:order value="0"/>
            <execprf:name value="cont"/>
            <execprf:token value="[execprfBeginToken]cont[execprfEndToken]"/>
            <execprf:type value="[Lgr.uoa.di.madgik.callables.test.reflectable.ArrayOfContainers;"/>
            <execprf:engineType value="[Reflectable"/>
            <execprf:reflectableDescr>
               <execprf:array type="[Reflectable">
                  <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.ArrayOfContainers">
                     <execprf:item>
                        <execprf:name value="OneDContainers"/>
                        <execprf:type value="[Lgr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer;"/>
                        <execprf:engineType value="[Reflectable">
                           <execprf:array type="[Reflectable">
                              <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer">
                                 <execprf:item>
                                    <execprf:name value="FloatPrimitiveField"/>
                                    <execprf:type value="float"/>
                                    <execprf:engineType value="FloatPrimitive"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="StringField"/>
                                    <execprf:type value="java.lang.String"/>
                                    <execprf:engineType value="String"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="DoublePrimitiveField"/>
                                    <execprf:type value="double"/>
                                    <execprf:engineType value="DoublePrimitive"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="BooleanClassField"/>
                                    <execprf:type value="java.lang.Boolean"/>
                                    <execprf:engineType value="BooleanClass"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="BooleanPrimitiveField"/>
                                    <execprf:type value="boolean"/>
                                    <execprf:engineType value="BooleanPrimitive"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="IntegerClassField"/>
                                    <execprf:type value="java.lang.Integer"/>
                                    <execprf:engineType value="IntegerClass"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="FloatClassField"/>
                                    <execprf:type value="java.lang.Float"/>
                                    <execprf:engineType value="FloatClass"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="DoubleClassField"/>
                                    <execprf:type value="java.lang.Double"/>
                                    <execprf:engineType value="DoubleClass"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="StoreLocatorField"/>
                                    <execprf:type value="gr.uoa.di.madgik.grs.store.share.locator.IStoreLocator"/>
                                    <execprf:engineType value="RecordStore"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="IntegerPrimitiveField"/>
                                    <execprf:type value="int"/>
                                    <execprf:engineType value="IntegerPrimitive"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="PoxyLocatorField"/>
                                    <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/>
                                    <execprf:engineType value="ResultSet"/>
                                 </execprf:item>
                              </execprf:refl>
                           </execprf:array>
                        </execprf:engineType>
                     </execprf:item>
                     <execprf:item>
                        <execprf:name value="Cont"/>
                        <execprf:type value="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer"/>
                        <execprf:engineType value="Reflectable">
                           <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer">
                              <execprf:item>
                                 <execprf:name value="IntegerPrimitiveField"/>
                                 <execprf:type value="int"/>
                                 <execprf:engineType value="IntegerPrimitive"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="DoublePrimitiveField"/>
                                 <execprf:type value="double"/>
                                 <execprf:engineType value="DoublePrimitive"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="BooleanClassField"/>
                                 <execprf:type value="java.lang.Boolean"/>
                                 <execprf:engineType value="BooleanClass"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="BooleanPrimitiveField"/>
                                 <execprf:type value="boolean"/>
                                 <execprf:engineType value="BooleanPrimitive"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="IntegerClassField"/>
                                 <execprf:type value="java.lang.Integer"/>
                                 <execprf:engineType value="IntegerClass"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="DoubleClassField"/>
                                 <execprf:type value="java.lang.Double"/>
                                 <execprf:engineType value="DoubleClass"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="StringField"/>
                                 <execprf:type value="java.lang.String"/>
                                 <execprf:engineType value="String"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="StoreLocatorField"/>
                                 <execprf:type value="gr.uoa.di.madgik.grs.store.share.locator.IStoreLocator"/>
                                 <execprf:engineType value="RecordStore"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="FloatPrimitiveField"/>
                                 <execprf:type value="float"/>
                                 <execprf:engineType value="FloatPrimitive"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="PoxyLocatorField"/>
                                 <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/>
                                 <execprf:engineType value="ResultSet"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="FloatClassField"/>
                                 <execprf:type value="java.lang.Float"/>
                                 <execprf:engineType value="FloatClass"/>
                              </execprf:item>
                           </execprf:refl>
                        </execprf:engineType>
                     </execprf:item>
                     <execprf:item>
                        <execprf:name value="MultiDContainers"/>
                        <execprf:type value="[[[[Lgr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer;"/>
                        <execprf:engineType value="[[[[Reflectable">
                           <execprf:array type="[[[[Reflectable">
                              <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer">
                                 <execprf:item>
                                    <execprf:name value="StoreLocatorField"/>
                                    <execprf:type value="gr.uoa.di.madgik.grs.store.share.locator.IStoreLocator"/>
                                    <execprf:engineType value="RecordStore"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="DoublePrimitiveField"/>
                                    <execprf:type value="double"/>
                                    <execprf:engineType value="DoublePrimitive"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="PoxyLocatorField"/>
                                    <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/>
                                    <execprf:engineType value="ResultSet"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="StringField"/>
                                    <execprf:type value="java.lang.String"/>
                                    <execprf:engineType value="String"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="DoubleClassField"/>
                                    <execprf:type value="java.lang.Double"/>
                                    <execprf:engineType value="DoubleClass"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="IntegerPrimitiveField"/>
                                    <execprf:type value="int"/>
                                    <execprf:engineType value="IntegerPrimitive"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="FloatPrimitiveField"/>
                                    <execprf:type value="float"/>
                                    <execprf:engineType value="FloatPrimitive"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="IntegerClassField"/>
                                    <execprf:type value="java.lang.Integer"/>
                                    <execprf:engineType value="IntegerClass"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="BooleanClassField"/>
                                    <execprf:type value="java.lang.Boolean"/>
                                    <execprf:engineType value="BooleanClass"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="FloatClassField"/>
                                    <execprf:type value="java.lang.Float"/>
                                    <execprf:engineType value="FloatClass"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="BooleanPrimitiveField"/>
                                    <execprf:type value="boolean"/>
                                    <execprf:engineType value="BooleanPrimitive"/>
                                 </execprf:item>
                              </execprf:refl>
                           </execprf:array>
                        </execprf:engineType>
                     </execprf:item>
                  </execprf:refl>
               </execprf:array>
            </execprf:reflectableDescr>
            <execprf:converter value="none"/>
         </execprf:argument>
         <execprf:return>
            <execprf:type value="java.lang.String"/>
            <execprf:engineType value="String"/>
            <execprf:converter value="none"/>
         </execprf:return>
      </execprf:call>
      <execprf:call type="Simple">
         <execprf:method name="ConsumeArrayofSubContainers"/>
         <execprf:signature>public java.lang.String gr.uoa.di.madgik.callables.test.ReflectablesOperator.ConsumeArrayofSubContainers(gr.uoa.di.madgik.callables.test.reflectable.ArrayOfSubContainers)</execprf:signature>
         <execprf:argument type="Simple">
            <execprf:order value="0"/>
            <execprf:name value="cont"/>
            <execprf:token value="[execprfBeginToken]cont[execprfEndToken]"/>
            <execprf:type value="gr.uoa.di.madgik.callables.test.reflectable.ArrayOfSubContainers"/>
            <execprf:engineType value="Reflectable"/>
            <execprf:reflectableDescr>
               <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.ArrayOfSubContainers">
                  <execprf:item>
                     <execprf:name value="MultiDContainers"/>
                     <execprf:type value="[[[[Lgr.uoa.di.madgik.callables.test.reflectable.SubPrimitiveContainer;"/>
                     <execprf:engineType value="[[[[Reflectable">
                        <execprf:array type="[[[[Reflectable">
                           <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.SubPrimitiveContainer">
                              <execprf:item>
                                 <execprf:name value="DoublePrimitiveField"/>
                                 <execprf:type value="double"/>
                                 <execprf:engineType value="DoublePrimitive"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="BooleanClassField"/>
                                 <execprf:type value="java.lang.Boolean"/>
                                 <execprf:engineType value="BooleanClass"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="FloatPrimitiveField"/>
                                 <execprf:type value="float"/>
                                 <execprf:engineType value="FloatPrimitive"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="IntegerClassField"/>
                                 <execprf:type value="java.lang.Integer"/>
                                 <execprf:engineType value="IntegerClass"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="PoxyLocatorField"/>
                                 <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/>
                                 <execprf:engineType value="ResultSet"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="StringField"/>
                                 <execprf:type value="java.lang.String"/>
                                 <execprf:engineType value="String"/>
                              </execprf:item>
                           </execprf:refl>
                        </execprf:array>
                     </execprf:engineType>
                  </execprf:item>
                  <execprf:item>
                     <execprf:name value="OneDContainers"/>
                     <execprf:type value="[Lgr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer;"/>
                     <execprf:engineType value="[Reflectable">
                        <execprf:array type="[Reflectable">
                           <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer">
                              <execprf:item>
                                 <execprf:name value="DoubleClassField"/>
                                 <execprf:type value="java.lang.Double"/>
                                 <execprf:engineType value="DoubleClass"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="IntegerPrimitiveField"/>
                                 <execprf:type value="int"/>
                                 <execprf:engineType value="IntegerPrimitive"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="StringField"/>
                                 <execprf:type value="java.lang.String"/>
                                 <execprf:engineType value="String"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="FloatPrimitiveField"/>
                                 <execprf:type value="float"/>
                                 <execprf:engineType value="FloatPrimitive"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="BooleanClassField"/>
                                 <execprf:type value="java.lang.Boolean"/>
                                 <execprf:engineType value="BooleanClass"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="IntegerClassField"/>
                                 <execprf:type value="java.lang.Integer"/>
                                 <execprf:engineType value="IntegerClass"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="FloatClassField"/>
                                 <execprf:type value="java.lang.Float"/>
                                 <execprf:engineType value="FloatClass"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="PoxyLocatorField"/>
                                 <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/>
                                 <execprf:engineType value="ResultSet"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="BooleanPrimitiveField"/>
                                 <execprf:type value="boolean"/>
                                 <execprf:engineType value="BooleanPrimitive"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="StoreLocatorField"/>
                                 <execprf:type value="gr.uoa.di.madgik.grs.store.share.locator.IStoreLocator"/>
                                 <execprf:engineType value="RecordStore"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="DoublePrimitiveField"/>
                                 <execprf:type value="double"/>
                                 <execprf:engineType value="DoublePrimitive"/>
                              </execprf:item>
                           </execprf:refl>
                        </execprf:array>
                     </execprf:engineType>
                  </execprf:item>
                  <execprf:item>
                     <execprf:name value="Cont"/>
                     <execprf:type value="gr.uoa.di.madgik.callables.test.reflectable.SubPrimitiveContainer"/>
                     <execprf:engineType value="Reflectable">
                        <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.SubPrimitiveContainer">
                           <execprf:item>
                              <execprf:name value="IntegerClassField"/>
                              <execprf:type value="java.lang.Integer"/>
                              <execprf:engineType value="IntegerClass"/>
                           </execprf:item>
                           <execprf:item>
                              <execprf:name value="FloatPrimitiveField"/>
                              <execprf:type value="float"/>
                              <execprf:engineType value="FloatPrimitive"/>
                           </execprf:item>
                           <execprf:item>
                              <execprf:name value="StringField"/>
                              <execprf:type value="java.lang.String"/>
                              <execprf:engineType value="String"/>
                           </execprf:item>
                           <execprf:item>
                              <execprf:name value="DoublePrimitiveField"/>
                              <execprf:type value="double"/>
                              <execprf:engineType value="DoublePrimitive"/>
                           </execprf:item>
                           <execprf:item>
                              <execprf:name value="PoxyLocatorField"/>
                              <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/>
                              <execprf:engineType value="ResultSet"/>
                           </execprf:item>
                           <execprf:item>
                              <execprf:name value="BooleanClassField"/>
                              <execprf:type value="java.lang.Boolean"/>
                              <execprf:engineType value="BooleanClass"/>
                           </execprf:item>
                        </execprf:refl>
                     </execprf:engineType>
                  </execprf:item>
               </execprf:refl>
            </execprf:reflectableDescr>
            <execprf:converter value="none"/>
         </execprf:argument>
         <execprf:return>
            <execprf:type value="java.lang.String"/>
            <execprf:engineType value="String"/>
            <execprf:converter value="none"/>
         </execprf:return>
      </execprf:call>
      <execprf:call type="Simple">
         <execprf:method name="ArrayConsumeArrayofSubContainers"/>
         <execprf:signature>public java.lang.String gr.uoa.di.madgik.callables.test.ReflectablesOperator.ArrayConsumeArrayofSubContainers(gr.uoa.di.madgik.callables.test.reflectable.ArrayOfSubContainers[])</execprf:signature>
         <execprf:argument type="Simple">
            <execprf:order value="0"/>
            <execprf:name value="cont"/>
            <execprf:token value="[execprfBeginToken]cont[execprfEndToken]"/>
            <execprf:type value="[Lgr.uoa.di.madgik.callables.test.reflectable.ArrayOfSubContainers;"/>
            <execprf:engineType value="[Reflectable"/>
            <execprf:reflectableDescr>
               <execprf:array type="[Reflectable">
                  <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.ArrayOfSubContainers">
                     <execprf:item>
                        <execprf:name value="MultiDContainers"/>
                        <execprf:type value="[[[[Lgr.uoa.di.madgik.callables.test.reflectable.SubPrimitiveContainer;"/>
                        <execprf:engineType value="[[[[Reflectable">
                           <execprf:array type="[[[[Reflectable">
                              <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.SubPrimitiveContainer">
                                 <execprf:item>
                                    <execprf:name value="BooleanClassField"/>
                                    <execprf:type value="java.lang.Boolean"/>
                                    <execprf:engineType value="BooleanClass"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="DoublePrimitiveField"/>
                                    <execprf:type value="double"/>
                                    <execprf:engineType value="DoublePrimitive"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="FloatPrimitiveField"/>
                                    <execprf:type value="float"/>
                                    <execprf:engineType value="FloatPrimitive"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="PoxyLocatorField"/>
                                    <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/>
                                    <execprf:engineType value="ResultSet"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="StringField"/>
                                    <execprf:type value="java.lang.String"/>
                                    <execprf:engineType value="String"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="IntegerClassField"/>
                                    <execprf:type value="java.lang.Integer"/>
                                    <execprf:engineType value="IntegerClass"/>
                                 </execprf:item>
                              </execprf:refl>
                           </execprf:array>
                        </execprf:engineType>
                     </execprf:item>
                     <execprf:item>
                        <execprf:name value="OneDContainers"/>
                        <execprf:type value="[Lgr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer;"/>
                        <execprf:engineType value="[Reflectable">
                           <execprf:array type="[Reflectable">
                              <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.PrimitiveContainer">
                                 <execprf:item>
                                    <execprf:name value="PoxyLocatorField"/>
                                    <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/>
                                    <execprf:engineType value="ResultSet"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="StoreLocatorField"/>
                                    <execprf:type value="gr.uoa.di.madgik.grs.store.share.locator.IStoreLocator"/>
                                    <execprf:engineType value="RecordStore"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="BooleanPrimitiveField"/>
                                    <execprf:type value="boolean"/>
                                    <execprf:engineType value="BooleanPrimitive"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="BooleanClassField"/>
                                    <execprf:type value="java.lang.Boolean"/>
                                    <execprf:engineType value="BooleanClass"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="IntegerPrimitiveField"/>
                                    <execprf:type value="int"/>
                                    <execprf:engineType value="IntegerPrimitive"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="DoubleClassField"/>
                                    <execprf:type value="java.lang.Double"/>
                                    <execprf:engineType value="DoubleClass"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="IntegerClassField"/>
                                    <execprf:type value="java.lang.Integer"/>
                                    <execprf:engineType value="IntegerClass"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="FloatPrimitiveField"/>
                                    <execprf:type value="float"/>
                                    <execprf:engineType value="FloatPrimitive"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="DoublePrimitiveField"/>
                                    <execprf:type value="double"/>
                                    <execprf:engineType value="DoublePrimitive"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="FloatClassField"/>
                                    <execprf:type value="java.lang.Float"/>
                                    <execprf:engineType value="FloatClass"/>
                                 </execprf:item>
                                 <execprf:item>
                                    <execprf:name value="StringField"/>
                                    <execprf:type value="java.lang.String"/>
                                    <execprf:engineType value="String"/>
                                 </execprf:item>
                              </execprf:refl>
                           </execprf:array>
                        </execprf:engineType>
                     </execprf:item>
                     <execprf:item>
                        <execprf:name value="Cont"/>
                        <execprf:type value="gr.uoa.di.madgik.callables.test.reflectable.SubPrimitiveContainer"/>
                        <execprf:engineType value="Reflectable">
                           <execprf:refl type="gr.uoa.di.madgik.callables.test.reflectable.SubPrimitiveContainer">
                              <execprf:item>
                                 <execprf:name value="StringField"/>
                                 <execprf:type value="java.lang.String"/>
                                 <execprf:engineType value="String"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="DoublePrimitiveField"/>
                                 <execprf:type value="double"/>
                                 <execprf:engineType value="DoublePrimitive"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="PoxyLocatorField"/>
                                 <execprf:type value="gr.uoa.di.madgik.grs.proxy.IProxyLocator"/>
                                 <execprf:engineType value="ResultSet"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="IntegerClassField"/>
                                 <execprf:type value="java.lang.Integer"/>
                                 <execprf:engineType value="IntegerClass"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="BooleanClassField"/>
                                 <execprf:type value="java.lang.Boolean"/>
                                 <execprf:engineType value="BooleanClass"/>
                              </execprf:item>
                              <execprf:item>
                                 <execprf:name value="FloatPrimitiveField"/>
                                 <execprf:type value="float"/>
                                 <execprf:engineType value="FloatPrimitive"/>
                              </execprf:item>
                           </execprf:refl>
                        </execprf:engineType>
                     </execprf:item>
                  </execprf:refl>
               </execprf:array>
            </execprf:reflectableDescr>
            <execprf:converter value="none"/>
         </execprf:argument>
         <execprf:return>
            <execprf:type value="java.lang.String"/>
            <execprf:engineType value="String"/>
            <execprf:converter value="none"/>
         </execprf:return>
      </execprf:call>
   </execprf:calls>
</execprf:InvocableProfile>