public void add(final T entry){
  if (entry == null)   throw new IllegalArgumentException();
  final long commitTime=entry.getCommitTime();
  if (commitTime == 0L)   throw new IllegalArgumentException();
  final Lock lock=writeLock();
  lock.lock();
  try {
    final byte[] key=getKey(commitTime);
    if (super.contains(key)) {
      throw new IllegalArgumentException("entry exists: timestamp=" + commitTime);
    }
    super.insert(key,entry);
  }
  finally {
    lock.unlock();
  }
}

public void add ( final T entry ) { if ( entry == null ) throw new IllegalArgumentException ( ) ; final long commitTime = entry . getCommitTime ( ) ; if ( commitTime == 0L ) throw new IllegalArgumentException ( ) ; final Lock lock = writeLock ( ) ; lock . lock ( ) ; try { final byte [ ] key = getKey ( commitTime ) ; if ( super . contains ( key ) ) { throw new IllegalArgumentException ( "entry exists: timestamp=" + commitTime ) ; } super . insert ( key , entry ) ; } finally { lock . unlock ( ) ; } }
add an entry under the committime associated with the entry .
