@Override
        public boolean equals(Object obj) {
            if (obj instanceof Map.Entry<?,?>) {
                Map.Entry<?,?> entry = (Map.Entry<?,?>)obj;
                if (!key.equals(entry.getKey())) {
                    return false;
                }
                Object entryValue = entry.getValue();
                return value == null ? entryValue == null : value.equals(entryValue);
            }
            
            return super.equals(obj);
        }