WICKET-4441 PageProvider should create a new Page instance if PageParameters are changed, even if a stored page exists.
Revert the improvement since it breaks Ajax links.
diff --git a/wicket-core/src/main/java/org/apache/wicket/request/handler/PageProvider.java b/wicket-core/src/main/java/org/apache/wicket/request/handler/PageProvider.java
index a6b6e57..6f446bc 100644
--- a/wicket-core/src/main/java/org/apache/wicket/request/handler/PageProvider.java
+++ b/wicket-core/src/main/java/org/apache/wicket/request/handler/PageProvider.java
@@ -292,10 +292,7 @@
 		IRequestablePage storedPageInstance = getPageSource().getPageInstance(pageId);
 		if (storedPageInstance != null)
 		{
-			if (
-				(pageClass == null || pageClass.equals(storedPageInstance.getClass())) &&
-				(isPageParametersEmpty(pageParameters) || arePageParametersSame(storedPageInstance))
-			)
+			if (pageClass == null || pageClass.equals(storedPageInstance.getClass()))
 			{
 				pageInstance = storedPageInstance;
 				pageInstanceIsFresh = false;
@@ -407,23 +404,4 @@
 		}
 		return pageInstanceIsFresh;
 	}
-
-	/**
-	 * A helper method that compares the requested PageParameters with the ones in the stored
-	 * page instance. {@code null} and empty PageParameters are considered equal.
-	 *
-	 * @param storedPageInstance
-	 *      the page instance with the original page parameters
-	 * @return {@code true} if the indexed and named parameters are equal, {@code false} - otherwise
-	 */
-	private boolean arePageParametersSame(IRequestablePage storedPageInstance) {
-		PageParameters currentCopy = new PageParameters(pageParameters);
-		PageParameters storedCopy = new PageParameters(storedPageInstance.getPageParameters());
-		return currentCopy.equals(storedCopy);
-	}
-
-	private boolean isPageParametersEmpty(PageParameters parameters)
-	{
-		return parameters == null || parameters.isEmpty();
-	}
 }
diff --git a/wicket-core/src/test/java/org/apache/wicket/request/handler/PageProviderTest.java b/wicket-core/src/test/java/org/apache/wicket/request/handler/PageProviderTest.java
index 9ec336b..a4acd00 100644
--- a/wicket-core/src/test/java/org/apache/wicket/request/handler/PageProviderTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/request/handler/PageProviderTest.java
@@ -252,36 +252,6 @@
 		assertTrue(provider.isPageInstanceFresh());
 	}
 
-	/**
-	 * https://issues.apache.org/jira/browse/WICKET-4441
-	 *
-	 * ProductPage is mounted at /product/${productId}.
-	 * A request to /product/10?2 will show the product with id = 10.
-	 * A following request to /product/20?2 (e.g. a bookmarked url sent by a colleague)
-	 * will again show product with id=10 ignoring the fact that product with id=20 is
-	 * requested because Wicket loads the old page with pageId=2 from the current session.
-	 */
-	@Test
-	public void ignorePageFoundByIdIfItsClassMatchButPageParametersDont()
-	{
-		TestMapperContext mapperContext = new TestMapperContext();
-		PageParameters initialParameters = new PageParameters();
-		initialParameters.add("name1", "value1");
-		Page page = new TestPage(initialParameters);
-		mapperContext.getPageManager().touchPage(page);
-		mapperContext.getPageManager().commitRequest();
-
-		// by cleaning session cache we make sure of not being testing the same in-memory instance
-		mapperContext.cleanSessionCache();
-
-		PageParameters newParameters = new PageParameters();
-		newParameters.add("name2", "value2");
-		PageProvider provider = new PageProvider(page.getPageId(), TestPage.class, newParameters, 0);
-		assertFalse(provider.hasPageInstance());
-		assertEquals(TestPage.class, provider.getPageInstance().getClass());
-		assertTrue(provider.isPageInstanceFresh());
-	}
-
 	/** */
 	public static class TestPage extends WebPage implements IMarkupResourceStreamProvider
 	{