private void removeNodeFromList ( RepairQueueNode el ) { // the head case // if ( null == el . prev ) { if ( null != el . next ) { this . head = el . next ; this . head . prev = null ; el = null ; } else { // can't happen? yep. if there is only one element exists... this . head = null ; } } // the tail case // else if ( null == el . next ) { if ( null != el . prev ) { el . prev . next = null ; } else { // can't happen? throw new RuntimeException ( "Unrecognized situation here..." ) ; } } // all others // else { el . prev . next = el . next ; el . next . prev = el . prev ; } }
Removes a node from the doubly linked list which backs the queue .