### Question:
TokenTransformConfig { public static TokenTransformConfig fromSMSString(String stringRepresentation) { String[] tokens = stringRepresentation.split(REGEX_PIPE); if (tokens.length != 3) { throw new IllegalArgumentException("The SMS String representation of the TokenTransformConfig must be of format: " + "input_token_type|output_token_type|true_or_false. The passed-in string: " + stringRepresentation); } return new TokenTransformConfig(tokens[0], tokens[1], Boolean.valueOf(tokens[2])); } TokenTransformConfig(TokenTypeId inputTokenType, TokenTypeId outputTokenType, boolean invalidateInterimOpenAMSession);  TokenTransformConfig(String inputTokenType, String outputTokenType, boolean invalidateInterimOpenAMSession); TokenTypeId getOutputTokenType(); boolean invalidateInterimOpenAMSession(); TokenTypeId getInputTokenType(); @Override boolean equals(Object other); @Override int hashCode(); @Override String toString(); JsonValue toJson(); static TokenTransformConfig fromJson(JsonValue json); String toSMSString(); static TokenTransformConfig fromSMSString(String stringRepresentation);  }### Answer:
@Test public void testStringRepresentationRoundTrip2() { TokenTransformConfig ttc1 = TokenTransformConfig.fromSMSString(STRING_TRANSFORM); TokenTransformConfig ttc2 = new TokenTransformConfig(TokenType.USERNAME, TokenType.SAML2, AMSTSConstants.INVALIDATE_INTERIM_OPENAM_SESSION); assertEquals(ttc1, ttc2); }