public Task <Result> Execute(CommandMetadata metadata, double value, string from) { Converter fromConverter = ParentPlugin.FindConverter(from); if (fromConverter != null) { Converter toConverter = ParentPlugin.FindRandomOfType(fromConverter.Type, fromConverter); return(Execute(metadata, value, from, toConverter.Name)); // don't question it. } else { throw new InvalidOperationException("Cannot convert from unit type " + from); } }