public synchronized void stepOut()
   {
       // First we run until the current frame has been evaluated.
       // Note that we keep holding on to the same frame for testing,
       // the one that was on the top when this method was called.
       final Eval2.StackFrame lFrame = getStack().top();
       stepcount = 0;
       breakpoint = false;

       // Take some steps.
       steploop: while(!lFrame.isEvaluated() && !excepted)
           if(stepcount > 0 && breakpoints.breakHere(stack))
           {
               breakpoint = true;
               break steploop;
           }
           else step();
       // Now we take a single step to step out of the frame.
       if(this.hasMoreSteps())
           if(stepcount > 0 && breakpoints.breakHere(stack))breakpoint = true;
           else step();
   }