static O dm_evalJava_withModule(S expression) { O m = dm_current_mandatory_generic(); code = evalJava_prep(expression) + [[ static O dm_current_mandatory_generic_value; static O dm_current_mandatory_generic() { ret dm_current_mandatory_generic_value; } ]]; O obj = veryQuickJava(code); setOpt(obj, programID := programID()); makeDependent(obj); setOpt(obj, creator_class := newWeakReference(dm_os())); set(obj, dm_current_mandatory_generic_value := m); ret evalJava_myProgramID_main_2(obj); }