public Scheme Handle() { Scheme scheme = new Scheme(); Assembly assembly = Assembly.GetExecutingAssembly(); IEnumerable <Type> controllers = assembly.GetTypes().Where(type => typeof(IRestController).IsAssignableFrom(type) && typeof(IRestController) != type); foreach (Type controller in controllers) { scheme.Add <IRestController>(controller); } return(scheme); }