...
The other two methods are for expanding the ByteBuffer.
In the class diagram at the top of this page you'll see a dotted association between ByteBufferVendor and ByteBuffer labeled "derived". That's meant to convey the fact that kind of the whole point of the vendor is that it mediates access to a ByteBuffer. In UML terms, there is a derived association between the two, even though you won't see an explicit (direct) object reference in the code.
Following the Rules
A "resource" object returned from a ByteBufferSharing open() must be assigned in a try-with-resources variable declaration.
...