internal AssemblyReference(ReflectionTypeSystemProvider provider, Assembly assembly) { if (null == assembly) { throw new ArgumentNullException("assembly"); } _provider = provider; _assembly = assembly; _typeEntityCache = new MemoizedFunction <Type, IType>(NewType); _memberCache = new MemoizedFunction <MemberInfo, IEntity>(NewEntityForMember); }