### Question:
TokenParam extends BaseParam { @Override public boolean equals(Object theO) { if (this == theO) { return true; } if (theO == null || getClass() != theO.getClass()) { return false; } TokenParam that = (TokenParam) theO; EqualsBuilder b = new EqualsBuilder(); b.append(myModifier, that.myModifier); b.append(mySystem, that.mySystem); b.append(myValue, that.myValue); return b.isEquals(); } TokenParam();  TokenParam(BaseCodingDt theCodingDt);  TokenParam(BaseIdentifierDt theIdentifierDt);  TokenParam(IBaseCoding theCoding);  TokenParam(String theSystem, String theValue);  TokenParam(String theSystem, String theValue, boolean theText);  TokenParam(String theCode); TokenParamModifier getModifier(); TokenParam setModifier(TokenParamModifier theModifier); String getSystem(); TokenParam setSystem(String theSystem); String getValue(); TokenParam setValue(String theValue); InternalCodingDt getValueAsCoding(); String getValueNotNull(); boolean isEmpty(); boolean isText(); @Deprecated TokenParam setText(boolean theText); @Override String toString(); @Override boolean equals(Object theO); @Override int hashCode();  }### Answer:
@Test public void testEquals() { TokenParam tokenParam1 = new TokenParam("foo", "bar"); TokenParam tokenParam2 = new TokenParam("foo", "bar"); TokenParam tokenParam3 = new TokenParam("foo", "baz"); assertEquals(tokenParam1, tokenParam1); assertEquals(tokenParam1, tokenParam2); assertNotEquals(tokenParam1, tokenParam3); assertNotEquals(tokenParam1, null); assertNotEquals(tokenParam1, ""); }