docs: protected ConcurrentSubList.Link insert(Token token,
                                              ConcurrentSubList.Link insertPoint,
                                              Transaction transaction)
                      throws ObjectManagerException
      {
          if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
              trace.entry(this, cclass,
                          "insert",
                          new Object[] { token, insertPoint, transaction });
  
          ConcurrentSubList.Link newLink = null;
  
          synchronized (transaction.internalTransaction) {
              // Establish the sequenceNumber of this Object in the overall list,
              // before the insert point.
              long sequenceNumber = insertPoint.sequenceNumber;
              sequenceNumber--;
              // Figure out which subList the Object should be added to.
              ConcurrentSubList list = getSublist(sequenceNumber);
              // Add the link near the tail of the list according to its assigned
              // sequence number.
              tailSequenceNumberLock.lock();
              try {
                  newLink = list.addEntry(token,
                                          transaction,
                                          sequenceNumber,
                                          this);
              } finally {
                  if (tailSequenceNumberLock.isHeldByCurrentThread())
                      tailSequenceNumberLock.unlock();
              } // try (tailSequenceNumberLock).
          } // synchronized (transaction.internalTransaction).
  
          if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
              trace.exit(this, cclass,
                         "insert",
                         new Object[] { newLink });
          return newLink;
      }