@Override public boolean equals(Object obj) { if (this == obj) { return true; } if (!super.equals(obj)) { return false; } if (getClass() != obj.getClass()) { return false; } Header other = (Header) obj; if (characterSet == null) { if (other.characterSet != null) { return false; } } else if (!characterSet.equals(other.characterSet)) { return false; } if (copyrightData == null) { if (other.copyrightData != null) { return false; } } else if (!copyrightData.equals(other.copyrightData)) { return false; } if (date == null) { if (other.date != null) { return false; } } else if (!date.equals(other.date)) { return false; } if (destinationSystem == null) { if (other.destinationSystem != null) { return false; } } else if (!destinationSystem.equals(other.destinationSystem)) { return false; } if (fileName == null) { if (other.fileName != null) { return false; } } else if (!fileName.equals(other.fileName)) { return false; } if (gedcomVersion == null) { if (other.gedcomVersion != null) { return false; } } else if (!gedcomVersion.equals(other.gedcomVersion)) { return false; } if (language == null) { if (other.language != null) { return false; } } else if (!language.equals(other.language)) { return false; } if (notes == null) { if (other.notes != null) { return false; } } else if (!notes.equals(other.notes)) { return false; } if (placeHierarchy == null) { if (other.placeHierarchy != null) { return false; } } else if (!placeHierarchy.equals(other.placeHierarchy)) { return false; } if (sourceSystem == null) { if (other.sourceSystem != null) { return false; } } else if (!sourceSystem.equals(other.sourceSystem)) { return false; } if (submission == null) { if (other.submission != null) { return false; } } else if (!submission.equals(other.submission)) { return false; } if (submitter == null) { if (other.submitter != null) { return false; } } else if (!submitter.equals(other.submitter)) { return false; } if (time == null) { if (other.time != null) { return false; } } else if (!time.equals(other.time)) { return false; } return true; }