[WICKET-7025] package private methods are intercepted by ByteBuddy (#552)

[WICKET-7025] package private methods are intercepted by ByteBuddy, tests were added
diff --git a/wicket-ioc/src/main/java/org/apache/wicket/proxy/bytebuddy/ByteBuddyProxyFactory.java b/wicket-ioc/src/main/java/org/apache/wicket/proxy/bytebuddy/ByteBuddyProxyFactory.java
index 4d53be2..9cc5cf4 100644
--- a/wicket-ioc/src/main/java/org/apache/wicket/proxy/bytebuddy/ByteBuddyProxyFactory.java
+++ b/wicket-ioc/src/main/java/org/apache/wicket/proxy/bytebuddy/ByteBuddyProxyFactory.java
@@ -60,13 +60,13 @@
 	/**
 	 * Create a lazy init proxy for the specified type. The target object will be located using the
 	 * provided locator upon first method invocation.
-	 * 
+	 *
 	 * @param type
 	 *            type that proxy will represent
-	 * 
+	 *
 	 * @param locator
 	 *            object locator that will locate the object the proxy represents
-	 * 
+	 *
 	 * @return lazily initializable proxy
 	 */
 	@Override
@@ -75,7 +75,7 @@
 		Class<T> proxyClass = createOrGetProxyClass(type);
 
 		T instance;
-		
+
 		if (!hasNoArgConstructor(type))
 		{
 			instance = INSTANTIATOR.newInstance(proxyClass);
@@ -91,10 +91,10 @@
 				throw new WicketRuntimeException(e);
 			}
 		}
-		
+
 		ByteBuddyInterceptor interceptor = new ByteBuddyInterceptor(type, locator);
 		((InterceptorMutator) instance).setInterceptor(interceptor);
-		
+
 		return instance;
 	}
 
@@ -106,7 +106,7 @@
 				new TypeCache.SimpleKey(type),
 				() -> BYTE_BUDDY
 						.subclass(type)
-						.method(ElementMatchers.isPublic())
+						.method(ElementMatchers.isPublic().or(ElementMatchers.isPackagePrivate()))
 							.intercept(
 								MethodDelegation
 									.withDefaultConfiguration()
diff --git a/wicket-ioc/src/test/java/org/apache/wicket/proxy/packageprivate/PackagePrivateConcreteObject.java b/wicket-ioc/src/test/java/org/apache/wicket/proxy/packageprivate/PackagePrivateConcreteObject.java
index bc27e03..4fd63cb 100644
--- a/wicket-ioc/src/test/java/org/apache/wicket/proxy/packageprivate/PackagePrivateConcreteObject.java
+++ b/wicket-ioc/src/test/java/org/apache/wicket/proxy/packageprivate/PackagePrivateConcreteObject.java
@@ -51,4 +51,11 @@
 		return message;
 	}
 
+	/**
+	 * @return message
+	 */
+	String internalGetMessage()
+	{
+		return message;
+	}
 }
diff --git a/wicket-ioc/src/test/java/org/apache/wicket/proxy/packageprivate/PackagePrivateTest.java b/wicket-ioc/src/test/java/org/apache/wicket/proxy/packageprivate/PackagePrivateTest.java
index 69dec9b..948352e 100644
--- a/wicket-ioc/src/test/java/org/apache/wicket/proxy/packageprivate/PackagePrivateTest.java
+++ b/wicket-ioc/src/test/java/org/apache/wicket/proxy/packageprivate/PackagePrivateTest.java
@@ -34,9 +34,9 @@
 
 /**
  * Tests lazy init proxy factory
- * 
+ *
  * @author Igor Vaynberg (ivaynberg)
- * 
+ *
  */
 class PackagePrivateTest
 {
@@ -74,6 +74,9 @@
 		// test method invocation
 		assertEquals("package-private-concrete", proxy.getMessage());
 
+		// test method invocation
+		assertEquals("package-private-concrete", proxy.internalGetMessage());
+
 		// test serialization
 		PackagePrivateConcreteObject proxy2 = WicketObjects.cloneObject(proxy);
 		assertNotSame(proxy, proxy2);
diff --git a/wicket-ioc/src/test/java/org/apache/wicket/proxy/util/ConcreteObject.java b/wicket-ioc/src/test/java/org/apache/wicket/proxy/util/ConcreteObject.java
index cb45c47..9288cce 100644
--- a/wicket-ioc/src/test/java/org/apache/wicket/proxy/util/ConcreteObject.java
+++ b/wicket-ioc/src/test/java/org/apache/wicket/proxy/util/ConcreteObject.java
@@ -18,9 +18,9 @@
 
 /**
  * Mock dependency that does not implement an interface
- * 
+ *
  * @author Igor Vaynberg (ivaynberg)
- * 
+ *
  */
 public class ConcreteObject
 {
@@ -36,7 +36,7 @@
 
 	/**
 	 * Constructor
-	 * 
+	 *
 	 * @param message
 	 */
 	public ConcreteObject(final String message)