code: public Entry remove(Entry removePointer)
    {
      if (tc.isEntryEnabled())
        SibTr.entry(tc, "remove", new Object[] { removePointer });
      
      Entry removedEntry = null;
      
      //check that the entry to be removed is not null and is in this list
      if(contains(removePointer))
      {         
        //call the internal unsynchronized remove method on the entry to be removed.
        removedEntry = removePointer.remove();
      }
      else //if the entry is not found in this 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:291:1.3" },
            null));
        
        FFDCFilter.processException(
          e,
          "com.ibm.ws.sib.processor.utils.linkedlist.LinkedList.remove",
          "1:297:1.3",
          this);
          
        SibTr.exception(tc, e);   
        SibTr.error(tc, "INTERNAL_MESSAGING_ERROR_CWSIP0001",
          new Object[] {
            "com.ibm.ws.sib.processor.utils.linkedlist.LinkedList",
            "1:304:1.3" });   
  
        if (tc.isEntryEnabled())
          SibTr.exit(tc, "remove", e);
        
        throw e;
      }
      
      if (tc.isEntryEnabled())
        SibTr.exit(tc, "remove", removedEntry);
      
      //return the object which was removed
      return removedEntry;
    }
docs: Synchronized. Remove an Entry from the list.
  
  @param removePointer The Entry to be removed
  @return The Entry which was removed