// Ask the resource recogniser to see if can recognise the input
// resource. This will throw an exception if we get duplicate matches
// as that indicates an error in the configuration which must be solved
// before we migrate30 the resource in question.
Match match = resourceIdentifier.identifyResource(meta,
restartInput);
// Restart the input since the recogniser will have already
// consumed it.
restartInput.restart();
// If we found a recognition match...
if (match != null) {
// ... then try and run the migration using the match.
reporter.reportNotification(
notificationFactory.createLocalizedNotification(
NotificationType.INFO, "migration-resource-migrating",
new Object[]{meta.getURI(), match.getTypeName(),
match.getVersionName()}));
processMigrationSteps(match, restartInput, outputCreator);
} else {
// ... else, we have no match for this resource.
// In this case, we assume the content does not require migration
// and just copy it across to the output.