public static ArrayList<Object> pruneItemSets(ArrayList<Object> toPrune,Hashtable<ItemSet,Integer> kMinusOne){
  ArrayList<Object> newVector=new ArrayList<Object>(toPrune.size());
  int help, j;
  for (int i=0; i < toPrune.size(); i++) {
    ItemSet current=(ItemSet)toPrune.get(i);
    for (j=0; j < current.m_items.length; j++) {
      if (current.m_items[j] != -1) {
        help=current.m_items[j];
        current.m_items[j]=-1;
        if (kMinusOne.get(current) == null) {
          current.m_items[j]=help;
          break;
        }
 else {
          current.m_items[j]=help;
        }
      }
    }
    if (j == current.m_items.length) {
      newVector.add(current);
    }
  }
  return newVector;
}

public static ArrayList < Object > pruneItemSets ( ArrayList < Object > toPrune , Hashtable < ItemSet , Integer > kMinusOne ) { ArrayList < Object > newVector = new ArrayList < Object > ( toPrune . size ( ) ) ; int help , j ; for ( int i = 0 ; i < toPrune . size ( ) ; i ++ ) { ItemSet current = ( ItemSet ) toPrune . get ( i ) ; for ( j = 0 ; j < current . m_items . length ; j ++ ) { if ( current . m_items [ j ] != - 1 ) { help = current . m_items [ j ] ; current . m_items [ j ] = - 1 ; if ( kMinusOne . get ( current ) == null ) { current . m_items [ j ] = help ; break ; } else { current . m_items [ j ] = help ; } } } if ( j == current . m_items . length ) { newVector . add ( current ) ; } } return newVector ; }
prunes a set of ( k ) - item sets using the given ( k - 1 ) - item sets .
