public Entry insertAtBottom ( Entry entry ) { if ( tc . isEntryEnabled ( ) ) SibTr . entry ( tc , "insertAtBottom" , new Object [ ] { entry } ) ; //only add in the new entry if it is not already in a list. if ( entry . parentList == null ) { //if the list is empty if ( last == null ) { //double check that the link references are null entry . previous = null ; entry . next = null ; //record the first and last pointers first = entry ; last = entry ; //set the entry's parent list to show that it is now part of this list entry . parentList = this ; } else //if there are already entries in the list { //insert the new entry after the last one in the list insertAfter ( entry , last ) ; } if ( tc . isEntryEnabled ( ) ) SibTr . exit ( tc , "insertAtBottom" , entry ) ; return entry ; } //if the entry is already in a list, throw a runtime exception SIErrorException e = new SIErrorException ( nls . getFormattedMessage ( "INTERNAL_MESSAGING_ERROR_CWSIP0001" , new Object [ ] { "com.ibm.ws.sib.processor.utils.linkedlist.LinkedList" , "1:166:1.18" } , null ) ) ; FFDCFilter . processException ( e , "com.ibm.ws.sib.processor.utils.linkedlist.LinkedList.insertAtBottom" , "1:172:1.18" , this ) ; SibTr . exception ( tc , e ) ; SibTr . error ( tc , "INTERNAL_MESSAGING_ERROR_CWSIP0001" , new Object [ ] { "com.ibm.ws.sib.processor.utils.linkedlist.LinkedList" , "1:179:1.18" } ) ; if ( tc . isEntryEnabled ( ) ) SibTr . exit ( tc , "insertAtBottom" , e ) ; throw e ; }
Synchronized . Insert a new entry in to the list at the bottom . The new entry must not be already in any list including this one .