public int read(byte[] buf, int offset, int length) throws IOException {
   return gz.read(buf, offset, length);
 }
 public void skip(long start) throws IOException {
   while (start > 0) {
     start -= gz.skip(start);
   }
 }
 public int read(byte[] buf) throws IOException {
   return gz.read(buf);
 }
 public void close() throws IOException {
   gz.close();
 }