public void enter(StyleFrame frame) {
    myFrames.addFirst(frame);
    final String uri = frame.getURI();

    final StyleFrame previous = frame.getPrevious();
    //if (previous != null && previous.getLineNumber() == frame.getLineNumber() && uri != null && uri.equals(previous.getURI())) {
    //  if (frame.getInstruction().equals(previous.getInstruction())) {
    //    System.err.println(
    //      "WARN: Same instruction <" + frame.getInstruction() + "> on line " + frame.getLineNumber() + " encountered more than once");
    //  }
    //}

    if (isStopped()) {
      throw new DebuggerStoppedException();
    } else if (myCurrentStopCondition != null && myCurrentStopCondition.value()) {
      suspendAndWait();
    } else {
      final int lineNumber = frame.getLineNumber();
      final Breakpoint breakpoint = myBreakpointManager.getBreakpoint(uri, lineNumber);
      if (breakpoint != null && breakpoint.isEnabled()) {
        // do not evaluate a log or condition bp more than once on the same line
        if (previous == null || previous.getLineNumber() != lineNumber) {
          final String condition = breakpoint.getCondition();
          try {
            if (evalCondition(condition)) {
              final String logMessage = breakpoint.getLogMessage();
              final String traceMessage = breakpoint.getTraceMessage();

              if (logBreakpoint(frame, logMessage, traceMessage) || breakpoint.isSuspend()) {
                suspendAndWait();
              }
            }
          } catch (EvaluationException e) {
            // TODO: send to IDEA
            System.err.println("[" + lineNumber + "]: Failed to evaluate expression: " + condition + " -- " + e.getMessage());
            breakpoint.setEnabled(false);
          }
        }
      }
    }
  }
public void enter(StyleFrame frame)