<s>[INST] composition 4 . a1 , a2 , a3 and a4 are objects . l is a list . m = comp a1 , comp a2 , comp a3 , comp a4 , l . concode_field_sep LIST<?> SIL concode_elem_sep Iterator<C> iter concode_elem_sep LinkedList<C> list concode_field_sep void SFIRST concode_elem_sep LIST<C> LIST1 concode_elem_sep LIST<C> RED3 concode_elem_sep LIST<C> LIST3 concode_elem_sep LIST<C> RED4 concode_elem_sep LIST<C> LIST2 concode_elem_sep C THIRD concode_elem_sep LIST<C> LIST5 concode_elem_sep int LENGTH concode_elem_sep LIST<C> RED2 concode_elem_sep LIST<C> LIST4 concode_elem_sep LIST<C> COMP concode_elem_sep LIST<C> INV concode_elem_sep int ORDER concode_elem_sep LIST<C> COMP2 concode_elem_sep int EXTENT concode_elem_sep void SRED concode_elem_sep C LELT concode_elem_sep boolean EQUAL concode_elem_sep LIST<C> LIST10 concode_elem_sep boolean isEmpty concode_elem_sep LIST<C> CCONC concode_elem_sep C FIRST concode_elem_sep LIST<C> REDUCT concode_elem_sep C FOURTH concode_elem_sep LIST<C> RED concode_elem_sep LIST<C> CINV concode_elem_sep boolean isNull concode_elem_sep String toString concode_elem_sep C SECOND concode_elem_sep long CLOCK concode_elem_sep LIST<C> CONC [/INST] LIST < C > function ( C arg0 , C arg1 , C arg2 , C arg3 , LIST < C > arg4 ) { LIST < C > loc0 = arg4 ; if ( arg4 == null ) { loc0 = new LIST < C > ( ) ; } loc0 . list . addFirst ( arg3 ) ; loc0 . list . addFirst ( arg2 ) ; loc0 . list . addFirst ( arg1 ) ; loc0 . list . addFirst ( arg0 ) ; return loc0 ; </s>