System.arraycopy( bytes, bpos, data, datapos, i);
System.arraycopy( data, datapos, bytes, bpos, i);
  public void engineNextBytes(byte[] bytes)  {    if( bytes.length < (20 - datapos) ) {      System.arraycopy( bytes, 0, data, datapos, bytes.length);      datapos += bytes.length;      return;    }    int i, blen = bytes.length, bpos = 0;    byte digestdata[];    while( bpos < blen ) {      i = 20 - datapos;      System.arraycopy( bytes, bpos, data, datapos, i);      bpos += i;      datapos += i;      if( datapos >= 20) {	//System.out.println( (0 + 20) + "\n" + (20 + 20) );	System.arraycopy( seed, 0, data, 20, 20);	digestdata = digest.digest( data );	System.arraycopy( digestdata, 0, data, 0, 20);	datapos = 0;      }    }  }