code: public void remove(final T node) {
          if ( this.firstNode == node ) {
              removeFirst();
          } else if ( this.lastNode == node ) {
              removeLast();
          } else {
              node.getPrevious().setNext( node.getNext() );
              (node.getNext()).setPrevious( node.getPrevious() );
              this.size--;
              node.setPrevious( null );
              node.setNext( null );
          }
      }
docs: Removes a <code>LinkedListNode</code> from the list. This works by attach the previous reference to the child reference.
  When the node to be removed is the first node it calls <code>removeFirst()</code>. When the node to be removed is the last node
  it calls <code>removeLast()</code>.
  
  @param node
  The <code>LinkedListNode</code> to be removed.