docs: public boolean handleMessageReceivedFromClient(Message aMessage, boolean onlyIfInScope) {
          if ( ! isBreakpoint(aMessage, true, onlyIfInScope)) {
              return true;
          }
          
          // Do this outside of the semaphore loop so that the 'continue' button can apply to all queued break points
          // but be reset when the next break point is hit
          breakPanel.breakpointHit();
  
          synchronized(semaphore) {
              if (breakPanel.isHoldMessage()) {
                  setBreakDisplay(aMessage, true);
                  waitUntilContinue(true);
              }
          }
          breakPanel.clearAndDisableRequest();
          return ! breakPanel.isToBeDropped();
      }