### Question:
RecordStructureField extends SimpleDataTyped implements HierarchicalRecordStructureMember { @Override public int hashCode() { return 31 * super.hashCode() + name.toLowerCase(Locale.getDefault()).hashCode(); } RecordStructureField(final String name, final int level, final DataType dataType);  RecordStructureField(final String name, final int level, final DataType dataType, final boolean optional,
            final String description, final List<CodeSet> codeSets, final List<EnumeratedValue> values); @Override boolean equals(final Object obj); @Override String getDescription(); List<CodeSet> getCodeSets(); @Override int getLevel(); @Override String getName(); List<EnumeratedValue> getValues(); @Override int hashCode(); boolean isOptional();  }### Answer:
@Test public void testEqualsNameCaseInsensitive() { final RecordStructureField field = new RecordStructureField(name, 1, DataType.DQ8); final RecordStructureField other = new RecordStructureField(StringUtils.swapCase(name), 1, DataType.DQ8); assertThat(field).isEqualTo(other); assertThat(other).isEqualTo(field); assertThat(field.hashCode()).isEqualTo(other.hashCode()); }