docs: public int fillFromChannel(
              ReadableByteChannel channel) throws IOException {
          if (!(backing instanceof ByteBuffer)) {
              throw new IllegalArgumentException(
                  "Backing buffer is not a ByteBuffer.");
          }
          try {
              return channel.read((ByteBuffer) backing);
          } catch (IOException e) {
              unlockBuffer();
              throw e;
          }
      }