public static IExecutableObject Realize(string encoding, IEnumerable <string> split) { IExecutableObject match = RegisteredObjects.FirstOrDefault(obj => obj.Understands(encoding, split)); return(match == null ? null : Activator.CreateInstance(match.GetType()) as IExecutableObject); }