docs: public void write(final byte[] pBytes, final int pOffset, final int pLength) throws IOException {
          if (!flushOnWrite && pLength < buffer.remaining()) {
              // Buffer data
              buffer.put(pBytes, pOffset, pLength);
          }
          else {
              // Encode data already in the buffer
              encodeBuffer();
  
              // Encode rest without buffering
              encoder.encode(out, ByteBuffer.wrap(pBytes, pOffset, pLength));
          }
      }