public boolean retainAll(BooleanIterable source)
{
int oldSize = this.size();
final BooleanSet sourceSet = source instanceof BooleanSet ? (BooleanSet) source : source.toSet();
BooleanArrayList retained = this.select(new BooleanPredicate()
{
public boolean accept(boolean value)
{
return sourceSet.contains(value);
}