@Override
 public int read(byte b[], int off, int len) throws IOException {
   return out.read(b, off, len);
 }
 @Override
 public int available() {
   return out.available();
 }
 @Override
 public int read() throws IOException {
   return out.read();
 }