### Question:
ResourceIndexedSearchParamString extends BaseResourceIndexedSearchParam { @Override public boolean equals(Object theObj) { if (this == theObj) { return true; } if (theObj == null) { return false; } if (!(theObj instanceof ResourceIndexedSearchParamString)) { return false; } ResourceIndexedSearchParamString obj = (ResourceIndexedSearchParamString) theObj; EqualsBuilder b = new EqualsBuilder(); b.append(getResourceType(), obj.getResourceType()); b.append(getParamName(), obj.getParamName()); b.append(getValueExact(), obj.getValueExact()); b.append(getHashIdentity(), obj.getHashIdentity()); b.append(getHashExact(), obj.getHashExact()); b.append(getHashNormalizedPrefix(), obj.getHashNormalizedPrefix()); return b.isEquals(); } ResourceIndexedSearchParamString();  ResourceIndexedSearchParamString(PartitionSettings thePartitionSettings, ModelConfig theModelConfig, String theResourceType, String theParamName, String theValueNormalized, String theValueExact); @Override void copyMutableValuesFrom(T theSource); @Override void calculateHashes(); @Override boolean equals(Object theObj); void setHashIdentity(Long theHashIdentity); Long getHashExact(); void setHashExact(Long theHashExact); Long getHashNormalizedPrefix(); void setHashNormalizedPrefix(Long theHashNormalizedPrefix); @Override Long getId(); @Override void setId(Long theId); String getValueExact(); ResourceIndexedSearchParamString setValueExact(String theValueExact); String getValueNormalized(); ResourceIndexedSearchParamString setValueNormalized(String theValueNormalized); @Override int hashCode(); @Override IQueryParameterType toQueryParameterType(); @Override String toString(); @Override boolean matches(IQueryParameterType theParam, boolean theUseOrdinalDatesForDayComparison); static long calculateHashExact(PartitionSettings thePartitionSettings, RequestPartitionId theRequestPartitionId, String theResourceType, String theParamName, String theValueExact); static long calculateHashNormalized(PartitionSettings thePartitionSettings, RequestPartitionId theRequestPartitionId, ModelConfig theModelConfig, String theResourceType, String theParamName, String theValueNormalized); static final int MAX_LENGTH; static final int HASH_PREFIX_LENGTH; }### Answer:
@Test public void testEquals() { ResourceIndexedSearchParamString val1 = new ResourceIndexedSearchParamString() .setValueExact("aaa") .setValueNormalized("AAA"); val1.setPartitionSettings(new PartitionSettings()); val1.setModelConfig(new ModelConfig()); val1.calculateHashes(); ResourceIndexedSearchParamString val2 = new ResourceIndexedSearchParamString() .setValueExact("aaa") .setValueNormalized("AAA"); val2.setPartitionSettings(new PartitionSettings()); val2.setModelConfig(new ModelConfig()); val2.calculateHashes(); assertEquals(val1, val1); assertEquals(val1, val2); assertNotEquals(val1, null); assertNotEquals(val1, ""); }