public Assignment removeValues(Value toRemove){
  Assignment a=new Assignment();
  for (  String var : map.keySet()) {
    Value v=map.get(var);
    if (!v.equals(toRemove)) {
      a.addPair(var,v);
    }
  }
  cachedHash=0;
  return a;
}

public Assignment removeValues ( Value toRemove ) { Assignment a = new Assignment ( ) ; for ( String var : map . keySet ( ) ) { Value v = map . get ( var ) ; if ( ! v . equals ( toRemove ) ) { a . addPair ( var , v ) ; } } cachedHash = 0 ; return a ; }
remove all pairs whose value equals toremove
