private Object constructObject(Class<?> type, Object[] args, CallStack callstack, Interpreter interpreter ) throws EvalError { final boolean isGeneratedClass = Reflect.isGeneratedClass(type); if (isGeneratedClass) { This.registerConstructorContext(callstack, interpreter); } finally { if (isGeneratedClass) { This.registerConstructorContext(null, null); // clean up, prevent memory leak