code: public Value evaluate( Debugger debugger ) throws InvocationException
    {
      RuntimeState runtimeState = getRuntimeState( debugger );
  
      Location suspendedLoc = debugger.getSuspendedLocation();
      VirtualMachine vm = suspendedLoc.virtualMachine();
  
      ClassType classType = runtimeState.getCodeRunnerClass( vm );
      Value thisObject = findThisObjectFromCtx( debugger.getSuspendedThread() );
      try
      {
        Value value = classType.invokeMethod(
          debugger.getSuspendedThread(), runtimeState.getRunMeSomeCodeMethod(),
          Arrays.asList(
            thisObject,
            suspendedLoc.declaringType().classLoader(),
            makeExternalsSymbolsForLocals( runtimeState, vm, debugger ),
            vm.mirrorOf( _strText ),
            vm.mirrorOf( _strClassContext ),
            vm.mirrorOf( _strContextElementClass ),
            vm.mirrorOf( _iContextLocation ) ), 0 );
        // Primitive boolean value needed for conditional breakpoint expression
        return unboxIfBoxed( runtimeState, debugger.getSuspendedThread(), value );
      }
      catch( Exception e )
      {
        throw GosuExceptionUtil.forceThrow( e );
      }
    }
docs: EvaluationContextImpl should be at the same stackFrame as it was in the call to EvaluatorBuilderImpl.build