docs: public final int read() throws IOException {
          final int count = in.read();
          if (count >= 0) {
              bytesRead = bytesRead + 1;
              if (listener != null) {
                  listener.updateByte(bytesRead);
              }
          }
          return count;
      }