Fixed bug when BooleanFilter class is used in conjunction with cached filters - the anding of filters' bitsets was changing the original rather than taking a copy of the contents. Changed to use BitSet.clone before performing any destructive operation