private bool IsTypeRegistered(Type type) { if (type.IsGenericType) { var genericDefinition = type.GetGenericTypeDefinition(); if (genericDefinition == typeof(ICollection <>) || genericDefinition == typeof(IList <>)) { type = type.GetGenericArguments()[0]; } } return(TypeMetadata.IsTypeRegistered(type)); }