code: public synchronized Object next()
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.entry(tc, "next");
  
      Object next = null;
      if(hasNext())
      {
        next = this.next.data;
        removable = this.next;
        this.next = null;
      }
      else
      {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
          SibTr.exit(tc, "next", "NoSuchElementException");
        throw new NoSuchElementException(
          nls.getFormattedMessage(
            "NO_ELEMENTS_ERROR_CWSIP0601",
            null,
            null));
      }
  
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.exit(tc, "next", next);
  
      return next;
    }
docs: /* (non-Javadoc)
  @see java.util.Iterator#next()