public void removeStatement(String statementName){
  rwLock.acquireWriteLock();
  try {
    removedStatementNames.add(statementName);
    if (removedStatementNames.size() > 1000) {
      for (int i=0; i <= currentLastElement; i++) {
        if (removedStatementNames.contains(statementNames[i])) {
          statementNames[i]=null;
        }
      }
      removedStatementNames.clear();
    }
  }
  finally {
    rwLock.releaseWriteLock();
  }
}

public void removeStatement ( String statementName ) { rwLock . acquireWriteLock ( ) ; try { removedStatementNames . add ( statementName ) ; if ( removedStatementNames . size ( ) > 1000 ) { for ( int i = 0 ; i <= currentLastElement ; i ++ ) { if ( removedStatementNames . contains ( statementNames [ i ] ) ) { statementNames [ i ] = null ; } } removedStatementNames . clear ( ) ; } } finally { rwLock . releaseWriteLock ( ) ; } }
remove a statement . < p > next flush actually frees the slot that this statement occupied .
