docs: long getHandle(
              boolean isSinglePartition,
              int partitionId,
              long clientHandle,
              int messageSize,
              long creationTimeNanos,
              String procName,
              long initiatorHSId,
              boolean isShortCircuitRead)
      {
          assert(!shouldCheckThreadIdAssertion() || m_expectedThreadId == Thread.currentThread().getId());
          if (isShortCircuitRead) {
              partitionId = SHORT_CIRCUIT_PART_ID;
          } else if (!isSinglePartition) {
              partitionId = MP_PART_ID;
          } else if (initiatorHSId == ClientInterface.NTPROC_JUNK_ID) {
              partitionId = NT_PROC_PART_ID;
          }
  
          PartitionInFlightTracker tracker = m_trackerMap.get(partitionId);
          if (tracker == null) {
              tracker = new PartitionInFlightTracker(partitionId);
              m_trackerMap =
                      new Builder<Integer, PartitionInFlightTracker>().
                      putAll(m_trackerMap).
                      put(partitionId, tracker).build();
          }
  
          long ciHandle = tracker.m_generator.getNextHandle();
          Iv2InFlight inFlight = new Iv2InFlight(ciHandle, clientHandle, messageSize,
                                                 creationTimeNanos, procName, initiatorHSId);
  
          tracker.m_inFlights.put(ciHandle, inFlight);
  
          m_outstandingTxns++;
          m_acg.increaseBackpressure(messageSize);
          return ciHandle;
      }