private void addLocatableRequest(FilteredRequestor requestor, EventRequest request) {
    if (DebuggerSettings.SUSPEND_ALL.equals(requestor.getSuspendPolicy())) {
      if (DebuggerUtils.isAlwaysSuspendThreadBeforeSwitch()) {
        request.setSuspendPolicy(EventRequest.SUSPEND_EVENT_THREAD);
      } else {
        request.setSuspendPolicy(EventRequest.SUSPEND_ALL);
      }
    }
    else {
      //when requestor.SUSPEND_POLICY == SUSPEND_NONE
      //we should pause thread in order to evaluate conditions
      request.setSuspendPolicy(EventRequest.SUSPEND_EVENT_THREAD);
    }

    // count filter has to be applied manually if condition is specified
    if (requestor.isCountFilterEnabled() && !requestor.isConditionEnabled()) {
      request.addCountFilter(requestor.getCountFilter());
    }

    if (requestor.isClassFiltersEnabled() && !(request instanceof BreakpointRequest) /*no built-in class filters support for breakpoint requests*/) {
      addClassFilters(request, requestor.getClassFilters(), requestor.getClassExclusionFilters());
    }

    registerRequestInternal(requestor, request);
  }
private void addLocatableRequest(FilteredRequestor requestor, EventRequest request)