private static byte[] expand(byte[] d){
  Inflater inflater=new Inflater();
  inflater.setInput(d);
  ByteArrayOutputStream out=new ByteArrayOutputStream(d.length);
  byte[] buffer=new byte[1024];
  try {
    while (!inflater.finished()) {
      int count=inflater.inflate(buffer);
      out.write(buffer,0,count);
    }
    inflater.end();
  }
 catch (  Exception e) {
    throw new IllegalArgumentException(e);
  }
  return out.toByteArray();
}

private static byte [ ] expand ( byte [ ] d ) { Inflater inflater = new Inflater ( ) ; inflater . setInput ( d ) ; ByteArrayOutputStream out = new ByteArrayOutputStream ( d . length ) ; byte [ ] buffer = new byte [ 1024 ] ; try { while ( ! inflater . finished ( ) ) { int count = inflater . inflate ( buffer ) ; out . write ( buffer , 0 , count ) ; } inflater . end ( ) ; } catch ( Exception e ) { throw new IllegalArgumentException ( e ) ; } return out . toByteArray ( ) ; }
decompress the hash description using a huffman coding .
