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