private void updateRequestState(final boolean enabled, @Nullable final ThreadReference thread) {
    DebuggerManagerThreadImpl.assertIsManagerThread();
    try {
      if (myEntryRequest != null) {
        DebuggerUtilsAsync.deleteEventRequest(myRequestManager, myEntryRequest);
        myEntryRequest = null;
      }
      if (myExitRequest != null) {
        DebuggerUtilsAsync.deleteEventRequest(myRequestManager, myExitRequest);
        myExitRequest = null;
      }
      if (enabled) {
        OverheadTimings.add(myProcess, myOverhead, 1, null);
        clear();
        myThread = thread;

        DebuggerUtilsAsync.setEnabled(createEntryRequest(), true);
        DebuggerUtilsAsync.setEnabled(createExitRequest(), true);
      }
    }
    catch (ObjectCollectedException ignored) {
    }
  }
private void updateRequestState(final boolean enabled, @Nullable final ThreadReference thread)