code: protected Link nextLink(Link start)
                      throws ObjectManagerException
      {
  
          if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
              trace.entry(this, cclass,
                          "nextLink",
                          new Object[] { start });
  
          Token nextToken = null;
  
          if (start == null) { // Start at the head of the list?
              nextToken = head;
          } else { // if in body but deleted.
              nextToken = start.next;
          } // if (start == null).
  
          Link nextLink = null;
          if (nextToken != null)
              nextLink = (Link) (nextToken.getManagedObject());
  
          if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
              trace.exit(this, cclass,
                         "nextLink",
                         new Object[] { nextLink });
          return nextLink;
      }
docs: Find the next link after the start link, even if it is part of a transaction.
  A dirty scan.
  
  Caller must be synchronized on LinkedList.
  
  @param start the link where the search for the next link is to start,
  null implies the head of the list.
  @return Link in the list following the start position.
  Returns null if there is none, or the start is deleted.
  @throws ObjectManagerException