@Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((CFDANo == null) ? 0 : CFDANo.hashCode()); result = prime * result + ((PIEligibilityWaiver == null) ? 0 : PIEligibilityWaiver.hashCode()); long temp; temp = Double.doubleToLongBits(PIFringe); result = prime * result + (int) (temp ^ (temp >>> 32)); temp = Double.doubleToLongBits(PISalary); result = prime * result + (int) (temp ^ (temp >>> 32)); result = prime * result + ((anticipatedSubRecipientsNames == null) ? 0 : anticipatedSubRecipientsNames.hashCode()); result = prime * result + ((baseInfo == null) ? 0 : baseInfo.hashCode()); result = prime * result + ((conflictOfInterestForms == null) ? 0 : conflictOfInterestForms.hashCode()); result = prime * result + ((departmentId == null) ? 0 : departmentId.hashCode()); result = prime * result + ((excludedPartyListChecked == null) ? 0 : excludedPartyListChecked.hashCode()); result = prime * result + ((fundingSource == null) ? 0 : fundingSource.hashCode()); result = prime * result + ((institutionalCostDocumented == null) ? 0 : institutionalCostDocumented.hashCode()); result = prime * result + (isAnticipatedSubRecipients ? 1231 : 1237); result = prime * result + (isPISalaryIncluded ? 1231 : 1237); result = prime * result + ((listAgency == null) ? 0 : listAgency.hashCode()); result = prime * result + ((programNo == null) ? 0 : programNo.hashCode()); result = prime * result + ((programTitle == null) ? 0 : programTitle.hashCode()); result = prime * result + ((proposalNotes == null) ? 0 : proposalNotes.hashCode()); result = prime * result + ((recovery == null) ? 0 : recovery.hashCode()); result = prime * result + ((researchAdministrator == null) ? 0 : researchAdministrator.hashCode()); result = prime * result + ((thirdPartyCostDocumented == null) ? 0 : thirdPartyCostDocumented.hashCode()); return result; }