docs: @Override
      public int read(byte[] b, int off, int len) throws IOException {
          int readLen = super.read(b, off, len);
          dataLength += readLen >= 0 ? readLen : 0;
          checkLength(readLen == -1);
          return readLen;
      }