protected void basicProcess(final DistributionManager dm) {
      // we should be in the elder
      final ElderState es;
      try {
        es = dm.getElderState(true);
      } catch (InterruptedException e) {
        logger.info("Interrupted while processing {}", this);
        return;
      }
      switch (opCode) {
        case GET_OP:
          replyGrantorInfo(dm, es.getGrantor(serviceName, getSender(), dlsSerialNumber));
          break;
        case PEEK_OP:
          replyGrantorInfo(dm, es.peekGrantor(serviceName));
          break;
        case BECOME_OP:
          replyGrantorInfo(dm,
              es.becomeGrantor(serviceName, getSender(), dlsSerialNumber, oldTurk));
          break;
        case CLEAR_OP:
          es.clearGrantor(grantorVersion, serviceName, dlsSerialNumber, getSender(),
              false);
          replyClear(dm);
          break;
        case CLEAR_WITH_LOCKS_OP:
          es.clearGrantor(grantorVersion, serviceName, dlsSerialNumber, getSender(),
              true);
          replyClear(dm);
          break;
        default:
          throw new IllegalStateException("Unknown opCode " + opCode);
      }
    }
@return true if the message was sent
geode-core/src/main/java/org/apache/geode/distributed/internal/locks/GrantorRequestProcessor.java