question: remove and return the item from the end concode_field_sep LinkedCollectionNode<Item> last concode_elem_sep int size concode_elem_sep LinkedCollectionNode<Item> currentLast concode_elem_sep LinkedCollectionNode<Item> first concode_field_sep Item next concode_elem_sep void addLast concode_elem_sep Iterator<Item> iterator concode_elem_sep int size concode_elem_sep Item removeFirst concode_elem_sep boolean isEmpty concode_elem_sep boolean hasNext concode_elem_sep void addFirst concode_elem_sep void remove
target: Item function ( ) { if ( last == null ) throw new NoSuchElementException ( ) ; LinkedCollectionNode < Item > loc0 = last ; last = loc0 . next ; if ( last != null ) { last . previous = null ; } else { first = null ; } size -- ; return loc0 . item ; }