question: private void decompose ( List < Object > elementPairs , List < Object > printerList , List < Object > parserList ) { int size = elementPairs . size ( ) ; for ( int i = 0 ; i < size ; i += 2 ) { Object element = elementPairs . get ( i ) ; if ( element instanceof DateTimePrinter ) { if ( element instanceof Composite ) { addArrayToList ( printerList , ( ( Composite ) element ) . iPrinters ) ; } else { printerList . add ( element ) ; } } element = elementPairs . get ( i + 1 ) ; if ( element instanceof DateTimeParser ) { if ( element instanceof Composite ) { addArrayToList ( parserList , ( ( Composite ) element ) . iParsers ) ; } else { parserList . add ( element ) ; } } } }
target:  Processes the element pairs, putting results into the given printer and parser lists.