code: public int read() throws IOException {
          byte[] b = new byte[1];
          int bytesRead = read(b, 0, 1);
          if (bytesRead == EOF) {
              return EOF;
          } else {
          //byte type in Java is from -128 to +127 and we are supposed to return 0-255
              return b[0] & 0xFF;
          }
      }
docs: /*
  (non-Javadoc)
  
  @see java.io.InputStream#read()