@Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Update other = (Update) obj; if (!getOuterType().equals(other.getOuterType())) return false; if (key == null) { if (other.key != null) return false; } else if (!key.equals(other.key)) return false; if (type != other.type) return false; return true; }