private static Type ToInstanceType(MemberMappingDescriptor member, Type type) { if (type.IsArray) { return(type.GetElementType()); } if (typeof(System.Collections.ICollection).IsAssignableFrom(type)) { string msg = ErrorBuilder.CantAggregateOverUntypedCollections(member); throw new OtisException(msg); } if (type.GetInterface(typeof(ICollection <>).FullName) != null) // generic collection { return(type.GetGenericArguments()[0]); } // simple type return(type); }