code: @Override
      public int read(byte[] b, int off, int len) throws IOException {
          int value = super.read(b, off, len);
          eofReached = value == -1;
          if (!eofReached) {
              bytesRead += value;
          }
          return value;
      }
docs: {@inheritDoc}