private static bool IsSpecificationContainer(IClass potentialSpecificationContainer) { if (potentialSpecificationContainer == null) return false; if (potentialSpecificationContainer.GetAccessRights() != AccessRights.PUBLIC) return false; var fields = potentialSpecificationContainer.GetMembers().OfType<IField>(); return fields.Any(f => typeof(Specification).IsAssignableFrom(f.Type as IDeclaredType)); }