public boolean equals(Object obj) {if (obj instanceof Map.Entry) {final Object key = ((Map.Entry) obj).getKey();final Object val = ((Map.Entry) obj).getValue();if (key instanceof String && val instanceof Ref) {final Ref r = (Ref) val;if (r.getName().equals(ref.getName())) {final ObjectId a = r.getObjectId();final ObjectId b = ref.getObjectId();if (a != null && b != null&& AnyObjectId.isEqual(a, b)) {return true;}}}}return false;}

public override bool Equals(object obj){if (obj is DictionaryEntry){object key = ((DictionaryEntry)obj).Key;object val = ((DictionaryEntry)obj).Value;if (key is string && val is Ref){Ref r = (Ref)val;if (r.GetName().Equals(this.@ref.GetName())){ObjectId a = r.GetObjectId();ObjectId b = this.@ref.GetObjectId();if (a != null && b != null && AnyObjectId.Equals(a, b)){return true;}}}}return false;}
