code: private void resetTailSequenceNumber()
                      throws ObjectManagerException
      {
          if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
              trace.entry(this, cclass
                          , "resetTailSequenceNumber"
                              );
  
          for (int i = 0; i < subListTokens.length; i++) {
              subLists[i] = ((ConcurrentSubList) subListTokens[i].getManagedObject());
              // In case another thread is currently removing the tail, take a safe copy.
              Token tailToken = subLists[i].tail;
              // Establish the highest existing tailSequenceNumber.
              if (tailToken != null) {
                  ConcurrentSubList.Link tail = (ConcurrentSubList.Link) tailToken.getManagedObject();
                  tailSequenceNumber = Math.max(tailSequenceNumber,
                                                tail.sequenceNumber);
              } // if (tailToken != null).
          } // for subList.
  
          tailSequenceNumberSet = true;
  
          if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
              trace.exit(this, cclass
                         , "resetHeadSequenceNumber"
                              );
      }
docs: Reset the tailSequenceNumber.
  Caller must be synchronized on tailSequenceNumberLock.
  
  @throws ObjectManagerException