code: public ManagedBuffer<T> linkBackingBuffer(ManagedBuffer<T> buffer) {
          if (linkedTo != null) {
              backing = savedBacking;
              linkedTo.unlockBuffer();
              linkedTo = null;
          }
          if (buffer == null) {
              return this;
          }
          buffer.lockBuffer();
          linkedTo = buffer;
          savedBacking = backing;
          backing = linkedTo.backing;
          return this;
      }
docs: Links this instance's backing buffer (temporarily) to
  the given buffer's backing buffer. Locks the given buffer.
  The buffer is unlocked again and the original backing buffer
  restored if this method is called with `null` or this
  managed buffer is recollected (i.e. no longer used).
  
  This method may be used to "assign" data that is already
  available in a buffer to this buffer without copying it
  over.
  
  @param buffer the buffer
  @return the managed buffer for easy chaining