code: public int read(byte b[], int off, int len) throws IOException {
          if (pos >= this.len) {
              // EOF
              return -1;
          }
          int num = (int) Math.min(len - off, this.len - pos);
          in.readBytes(b, off, num);
          pos += num;
          return num;
      }
docs: {@inheritDoc}