question: public void push ( Collection collection ) { if ( isClosed ( ) ) { LOGGER . debug ( "synchrocol isClosed - Exception" ) ; throw new IllegalArgumentException ( "buffer closed" ) ; } if ( ( collection != null ) && ( collection . size ( ) != 0 ) ) { synchronized ( buffer ) { if ( ( duplicatePolicy != SynchroBuffer . DUPLICATE_DISCARD ) && ( duplicatePolicy != SynchroBuffer . DUPLICATE_REPLACE ) ) { buffer . addAll ( collection ) ; if ( capacity != INFINITE_CAPACITY && buffer . size ( ) > capacity ) { LOGGER . warn ( "The maximum capacity of the SynchroBuffer was reached (current size is " + buffer . size ( ) + ") - FIFO was applied to the buffer." ) ; while ( buffer . size ( ) > capacity ) { buffer . remove ( 0 ) ; } } } else { Iterator iterator = collection . iterator ( ) ; while ( iterator . hasNext ( ) ) { push ( iterator . next ( ) ) ; } } } } }
target:  Push a collection of objects into the buffer.