main mechanics for put/offer concode_field_sep int waitingForTake_ concode_elem_sep LinkedNode last_ concode_elem_sep LinkedNode head_ concode_elem_sep Object putLock_ concode_field_sep boolean offer concode_elem_sep Object take concode_elem_sep Object extract concode_elem_sep boolean isEmpty concode_elem_sep Object poll concode_elem_sep void put concode_elem_sep Object peek
void function ( Object arg0 ) { synchronized ( putLock_ ) { LinkedNode loc0 = new LinkedNode ( arg0 ) ; synchronized ( last_ ) { last_ . next = loc0 ; last_ = loc0 ; } if ( waitingForTake_ > 0 ) putLock_ . notify ( ) ; } }