{
try
{
//System.out.println("constructor for " + klass.getName());
Constructor cc = klass.getConstructor();
BlockDescriptor td = (BlockDescriptor)cc.newInstance();
Descriptor[] cd = new Descriptor[block.length];
for(int i = 0 ; i < block.length; ++i)
{
cd[i] = dexter.marshall(block[i]);
}
td.setPropertyResolver(properties);
td.setArgs(block, cd,names,values);
return td;
}
catch (Exception e)
{
throw new DexterException(e);