FilterSettingsImpl implements FilterSettings { @Override public int hashCode() { int hash = 3; hash = 31 * hash + Float.floatToIntBits(this.maximumFrequency); hash = 31 * hash + Float.floatToIntBits(this.minimumQuality); hash = 31 * hash + Objects.hashCode(this.geneticInterval); hash = 31 * hash + (this.keepNonPathogenicVariants ? 1 : 0); hash = 31 * hash + (this.removeKnownVariants ? 1 : 0); hash = 31 * hash + (this.keepOffTargetVariants ? 1 : 0); hash = 31 * hash + Objects.hashCode(this.genesToKeep); hash = 31 * hash + Objects.hashCode(this.modeOfInheritance); return hash; } private  FilterSettingsImpl(FilterSettingsBuilder builder); static FilterSettingsBuilder builder(); @Override float getMaximumFrequency(); @Override float getMinimumQuality(); @Override GeneticInterval getGeneticInterval(); @Override boolean keepOffTargetVariants(); @Override boolean removeFailedVariants(); @Override boolean removeKnownVariants(); @Override boolean keepNonPathogenicVariants(); @Override Set<String> getGenesToKeep(); @Override ModeOfInheritance getModeOfInheritance(); @Override int hashCode(); @Override boolean equals(Object obj); @Override String toString();  }
@Test public void testHashCode() { FilterSettings other = FilterSettingsImpl.builder().build(); instance = builder.build(); assertThat(instance.hashCode(), equalTo(other.hashCode())); }