@Override public void validate( final ValidationContext context, final ValidationReport report, final JsonNode instance) { final Set<String> fields = Sets.newHashSet(instance.fieldNames()); final Set<String> missing = Sets.difference(required, fields); if (missing.isEmpty()) return; final Message.Builder msg = newMsg() .addInfo("required", Ordering.natural().sortedCopy(required)) .addInfo("missing", Ordering.natural().sortedCopy(missing)) .setMessage("required property(ies) not found"); report.addMessage(msg.build()); }