/*
* We have to go through an intermediate report. If we re-enter this
* function with a report already telling there is an error, we don't
* want to wrongly report that the schema is invalid.
*/
final ProcessingReport r = new ListProcessingReport(report);
final ValueHolder<SchemaTree> out = resolver.process(r, in);
report.mergeWith(r);
if (!r.isSuccess())
return null;
final SchemaContext output = new SchemaContext(out.getValue(),
input.getInstanceType());
return builder.process(report, output);