private object Convert(Type signature, object app)
{
if (app == null)
{
return null;
}
object oneHop = ConvertOneHop(signature, app);
if (oneHop != null)
{
return oneHop;
}
object multiHop = ConvertMultiHop(signature, app);
if (multiHop != null)
{
return multiHop;
}
throw new ArgumentException(
string.Format(CultureInfo.CurrentCulture, BuilderResources.Exception_NoConversionExists, app.GetType(), signature),
"signature");
}