public ProjectionEntry(AggregateRootType aggregateRootType, ProjectionType projectionType, IProjectionManager projectionManager) : this(aggregateRootType, projectionType, projectionManager.GetType()) { Contract.Requires(aggregateRootType != null); Contract.Requires(projectionType != null); Contract.Requires(projectionManager != null); ProjectionManager = projectionManager; }