public static Gson instance() {
        return SingletonHolder.INSTANCE;
    }
@Test
    void rejectsSerializationOfDESCipherProvider() {
        final DESCipherProvider dcp = new DESCipherProvider(new TempSystemEnvironment());
        try {
            final IllegalArgumentException e = assertThrows(IllegalArgumentException.class, () ->
                    Serialization.instance().toJson(dcp));
            assertEquals(format("Refusing to serialize a %s instance and leak security details!", DESCipherProvider.class.getName()), e.getMessage());
        } finally {
            dcp.removeCachedKey();
        }
    }