class DefaultUserInformation implements UserInformation {

    @Override
    public JsonObject toJson(final JsonSchemaVersion schemaVersion, final Predicate<JsonField> predicate) {
        final JsonObjectBuilder builder = JsonFactory.newObjectBuilder();
        builder.set(JsonFields.DEFAULT_SUBJECT, defaultSubject);
        builder.set(JsonFields.SUBJECTS, subjects.stream().map(JsonValue::of).collect(JsonCollectors.valuesToArray()));
        return builder.build();
    }

    private  DefaultUserInformation(@Nullable final String defaultSubject,
            final List<String> subjects);

}