SubMonitor diagnosticianMonitor = subMonitor.newChild(90).setWorkRemaining(targetPlatform.getLocations().size());
Diagnostic validation = new CustomDiagnostician(diagnosticianMonitor).validate(targetPlatform);
if (validation.getSeverity() >= Diagnostic.WARNING) {
ret.merge(validation);
} else if (subMonitor.isCanceled()) {
ret.merge(Diagnostic.CANCEL_INSTANCE);
}
if (validation.getSeverity() < Diagnostic.ERROR) {
Diagnostic diagnostic = doGenerateTargetDefinitionFile(uri, targetPlatform, subMonitor.newChild(8));
if (diagnostic.getSeverity() >= Diagnostic.WARNING) {