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