if(innerFig != null){
innerFig.destroy(env);
}
TypeFactory tf = TypeFactory.getInstance();
IList originalsL = VF.list(originals.toArray(tmpArray));
IConstructor figureCons = (IConstructor) env.getCallBackEnv().executeRascalCallBackSingleArgument(whole,tf.listType(tf.valueType()),originalsL).getValue();
innerFig = FigureFactory.make(env, figureCons, prop, childProps);
innerFig.registerIds(env, resolver);
innerFig.registerConverts(resolver);
setInnerFig( innerFig);
prop.stealExternalPropertiesFrom(innerFig.prop);