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