/// <summary>
		/// Constructs a <see cref="SqlServerStorageEngine"/>.
		/// </summary>
		/// <param name="repository">The <see cref="SqlServerRepository"/>.</param>
		/// <exception cref="ArgumentNullException">Thrown if <paramref name="repository"/> is null.</exception>
		public SqlServerStorageEngine(SqlServerRepository repository)
		{
			// validate arguments
			if (repository == null)
				throw new ArgumentNullException("repository");

			// set values
			this.repository = repository;
		}
		/// <summary>
		/// Constructs a <see cref="SqlServerQueryEngine"/>.
		/// </summary>
		/// <param name="repository">The <see cref="SqlServerRepository"/>.</param>
		/// <param name="converters">The <see cref="IQueryComponentConverter"/>s.</param>
		/// <exception cref="ArgumentNullException">Thrown if <paramref name="repository"/> is null.</exception>
		public SqlServerQueryEngine(SqlServerRepository repository, IEnumerable<IQueryComponentConverter> converters) : base(10, true)
		{
			// validate arguments
			if (repository == null)
				throw new ArgumentNullException("repository");
			if (converters == null)
				throw new ArgumentNullException("converters");

			// set values
			this.repository = repository;
			this.converters = converters.ToArray();
		}