public void incrementHeadSequenceNumber ( ConcurrentSubList . Link link ) throws ObjectManagerException { if ( Tracing . isAnyTracingEnabled ( ) && trace . isEntryEnabled ( ) ) trace . entry ( this , cclass , "incrementheadSequenceNumber" , new Object [ ] { link } ) ; if ( link . next == null ) { // This subList is now empty. headSequenceNumber ++ ; // Look at another list next time. } else { // Still more links in this subList. ConcurrentSubList . Link nextLink = ( ConcurrentSubList . Link ) link . next . getManagedObject ( ) ; // If insertion into the body of the list has taken place, // then a sequenceNumber will have been duplicated. if ( nextLink . sequenceNumber != headSequenceNumber ) headSequenceNumber ++ ; } // if( firstLink.next == null). if ( Tracing . isAnyTracingEnabled ( ) && trace . isEntryEnabled ( ) ) trace . exit ( this , cclass , "incrementHeadSequenceNumber" , new Object [ ] { new Long ( headSequenceNumber ) } ) ; }
Increment the headSequenceNumber after removal of a link in a subList . Caller must already be synchronized on headSequenceNumberLock .