code: private ByteBuffer submitBuffer(ByteBuffer in) {
          ByteBuffer out = in.asReadOnlyBuffer();
          in.position(in.limit());
          return out;
      }
docs: TODO: do we care about these being `read-only`? It does ensure any underlying array is hidden...