### Question:
PurgeEntitiesReason implements ShutdownReason { @Override public JsonObject toJson() { return toJson(FieldType.REGULAR.and(FieldType.notHidden())); } private  PurgeEntitiesReason(final List<String> entityIdsToPurge); static PurgeEntitiesReason of(final List<EntityId> entityIdsToPurge); @Override ShutdownReasonType getType(); @Override boolean isRelevantFor(final Object value); @Override JsonObject toJson(); @Override JsonObject toJson(final JsonSchemaVersion schemaVersion, final Predicate<JsonField> predicate); @Override boolean equals(final Object o); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void toJsonWithoutSchemaVersionAndPredicateReturnsExpected() { assertThat(underTest.toJson()).isEqualTo(knownJsonRepresentation); }
@Test public void toJsonWithHiddenFieldsOnlyReturnsEmptyJsonObject() { assertThat(underTest.toJson(FieldType.HIDDEN)).isEmpty(); }