/// <summary>
		/// Lists the versions.
		/// </summary>
		/// <param name="pageLink">The page link.</param>
		/// <param name="languageBranch">The language branch.</param>
		/// <returns></returns>
		public override PageVersionCollection ListVersions(PageReference pageLink, string languageBranch)
		{
			var versions = new PageVersionCollection();
			versions.AddRange(PageVersion.List(pageLink).Where(version =>
				version.LanguageBranch.Equals(languageBranch, StringComparison.OrdinalIgnoreCase)));
			return versions;
		}
		public void List_ShouldCallListOfTheWrappedPageVersionAndConvertTheResultToAnEnumerableOfContentVersion()
		{
			using(ShimsContext.Create())
			{
				bool listIsCalled = false;
				PageVersionCollection listValue = new PageVersionCollection();
				PageReference pageLinkValue = null;

				int items = DateTime.Now.Second%10;

				for(int i = 0; i < items; i++)
				{
					listValue.Add(CreateRandomPageVersion());
				}

				ShimPageVersion.ListPageReference = delegate(PageReference pageLink)
				{
					listIsCalled = true;
					pageLinkValue = pageLink;
					return listValue;
				};

				PageReference pageLinkParameter = CreateRandomPageReference();

				Assert.IsFalse(listIsCalled);
				IEnumerable<ContentVersion> contentVersions = new PageVersionWrapper().List(pageLinkParameter);
				Assert.AreEqual(pageLinkParameter, pageLinkValue);
				Assert.AreEqual(items, contentVersions.Count());
				Assert.IsTrue(listIsCalled);
			}
		}