ImmutableFilteredAcknowledgementRequest implements FilteredAcknowledgementRequest { public static FilteredAcknowledgementRequest fromJson(final JsonObject jsonObject) { return FilteredAcknowledgementRequest.of( jsonObject.getValue(JsonFields.INCLUDES).orElse(JsonArray.empty()).stream() .filter(JsonValue::isString) .map(JsonValue::asString) .map(AcknowledgementRequest::parseAcknowledgementRequest) .collect(Collectors.toSet()), jsonObject.getValue(JsonFields.FILTER).orElse(null)); } private  ImmutableFilteredAcknowledgementRequest(final Set<AcknowledgementRequest> includes,
            @Nullable final String filter); @Override Set<AcknowledgementRequest> getIncludes(); @Override Optional<String> getFilter(); static FilteredAcknowledgementRequest fromJson(final JsonObject jsonObject); @Override JsonObject toJson(final JsonSchemaVersion schemaVersion, final Predicate<JsonField> thePredicate); @Override boolean equals(@Nullable final Object o); @Override int hashCode(); @Override String toString();  }
@Test public void fromJsonReturnsExpected() { final FilteredAcknowledgementRequest actual = ImmutableFilteredAcknowledgementRequest.fromJson(FILTERED_ACKNOWLEDGEMENT_REQUEST_JSON); assertThat(actual).isEqualTo(FILTERED_ACKNOWLEDGEMENT_REQUEST); }