code: public T remove(long seqno) {
          lock.lock();
          try {
              if(seqno < low || seqno > high)
                  return null;
              int index=index(seqno);
              T retval=buffer[index];
              if(retval != null && removes_till_compaction > 0)
                  num_removes++;
              buffer[index]=null;
              if(seqno == low)
                  advanceLow();
              if(removes_till_compaction > 0 && num_removes >= removes_till_compaction) {
                  _compact();
                  num_removes=0;
              }
              return retval;
          }
          finally {
              lock.unlock();
          }
      }
docs: Removes the element at the index matching seqno. If seqno == low, tries to advance low until a non-null element
  is encountered, up to high
  @param seqno
  @return