docs: public void append(final byte[] b, final int off, final int len) {
          if (b == null) {
              return;
          }
          if ((off < 0) || (off > b.length) || (len < 0) ||
                  ((off + len) < 0) || ((off + len) > b.length)) {
              throw new IndexOutOfBoundsException("off: "+off+" len: "+len+" b.length: "+b.length);
          }
          if (len == 0) {
              return;
          }
          final int newlen = this.len + len;
          if (newlen > this.array.length) {
              expand(newlen);
          }
          System.arraycopy(b, off, this.array, this.len, len);
          this.len = newlen;
      }