docs: public synchronized CommsByteBuffer allocate()
     {
        if (tc.isEntryEnabled()) SibTr.entry(this, tc, "allocate");
     
        // Remove a CommsByteBuffer from the pool
        CommsByteBuffer buff = (CommsByteBuffer) pool.remove();
     
        // If the buffer is null then there was none available in the pool
        // So create a new one
        if (buff == null)
        {
           if (tc.isDebugEnabled()) SibTr.debug(this, tc, "No buffer available from pool - creating a new one");
        
           buff = createNew();
        }
     
        if (tc.isEntryEnabled()) SibTr.exit(this, tc, "allocate", buff);
        return buff;
     }