### Question:
ProviderConfiguration implements Persistable { @Override public String persist() { return new Gson().toJson(this); } @VisibleForTesting  ProviderConfiguration();  ProviderConfiguration(CustomConfiguration config); @NonNull @Override String getKey(); @Override String persist(); static final String OPENID_CONFIGURATION_RESOURCE; static final String OAUTH2_CONFIGURATION_RESOURCE; public String authorization_endpoint; public String[] claims_supported; public String[] code_challenge_methods_supported; public String end_session_endpoint; public String[] grant_types_supported; public String introspection_endpoint; public String[] introspection_endpoint_auth_methods_supported; public String issuer; public String jwks_uri; public String registration_endpoint; public String[] request_object_signing_alg_values_supported; public boolean request_parameter_supported; public String[] response_modes_supported; public String[] response_types_supported; public String revocation_endpoint; public String[] revocation_endpoint_auth_methods_supported; public String[] scopes_supported; public String[] subject_types_supported; public String token_endpoint; public String[] token_endpoint_auth_methods_supported; public String userinfo_endpoint; public String[] id_token_signing_alg_values_supported; static final Persistable.Restore<ProviderConfiguration> RESTORE; }### Answer:
@Test public void persist() { String json = mValidConfiguration.persist(); ProviderConfiguration other = new Gson().fromJson(json, ProviderConfiguration.class); other.validate(false); assertNotNull(other); assertEquals(other.persist(), json); }