code: public CloseableReference<byte[]> get(int size) {
      Preconditions.checkArgument(size > 0, "Size must be greater than zero");
      Preconditions.checkArgument(size <= mMaxByteArraySize, "Requested size is too big");
      mSemaphore.acquireUninterruptibly();
      try {
        byte[] byteArray = getByteArray(size);
        return CloseableReference.of(byteArray, mResourceReleaser);
      } catch (Throwable t) {
        mSemaphore.release();
        throw Throwables.propagate(t);
      }
    }
docs: Get exclusive access to the byte array of size greater or equal to the passed one.
  
  <p> Under the hood this method acquires an exclusive lock that is released when
  the returned reference is closed.