public static bool IsSystemTypeCandidate(Type type) { return type.CanBeCastTo<ISystem>() && type.IsConcreteWithDefaultCtor() && !type.IsOpenGeneric(); }