private void disposeCiphers(){
synchronized (readLock) {
    readCipher.dispose();
  }
  writeLock.lock();
  try {
    writeCipher.dispose();
  }
  finally {
    writeLock.unlock();
  }
}

private void disposeCiphers ( ) { synchronized ( readLock ) { readCipher . dispose ( ) ; } writeLock . lock ( ) ; try { writeCipher . dispose ( ) ; } finally { writeLock . unlock ( ) ; } }
called by closeinternal ( ) only . be sure to consider the synchronization locks carefully before calling it elsewhere .
