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;
}

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 ; }
append into data_buffer by copying processed_data then binary_data into temp and then temp back into binary_data
