question: static byte [ ] appendData ( byte [ ] binary_data , final byte [ ] decoded_stream_data ) { if ( decoded_stream_data != null ) { final int current_length = binary_data . length + 1 ; int processed_length = decoded_stream_data . length ; if ( processed_length > 0 ) { while ( decoded_stream_data [ processed_length - 1 ] == 0 ) { processed_length -- ; } final byte [ ] temp = new byte [ current_length ] ; System . arraycopy ( binary_data , 0 , temp , 0 , current_length - 1 ) ; temp [ current_length - 1 ] = ' ' ; binary_data = new byte [ current_length + processed_length ] ; System . arraycopy ( temp , 0 , binary_data , 0 , current_length ) ; System . arraycopy ( decoded_stream_data , 0 , binary_data , current_length , processed_length ) ; } } return binary_data ; }
target:  append into data_buffer by copying processed_data then binary_data into temp and then temp back into binary_data