@Override public void close() throws IOException {
  closed=true;
  def.end();
  in.close();
}

@ Override public void close ( ) throws IOException { closed = true ; def . end ( ) ; in . close ( ) ; }
closes the underlying input stream and discards any remaining uncompressed data .
