@Override
public boolean equals( Object obj ) {
if (obj == this) return true;
if (obj instanceof Field) {
Field that = (Field)obj;
if (!this.getName().equals(that.getName())) return true;
return this.getValue() != null ? this.getValue().equals(that.getValue()) : that.getValue() == null;
}
return false;
}