TAP5-2673: Guava generics resolver not used when added in the classpath
diff --git a/genericsresolver-guava/src/main/resources/META-INF/services/org.apache.tapestry5.services.GenericsResolver b/genericsresolver-guava/src/main/resources/META-INF/services/org.apache.tapestry5.commons.services.GenericsResolver
similarity index 100%
rename from genericsresolver-guava/src/main/resources/META-INF/services/org.apache.tapestry5.services.GenericsResolver
rename to genericsresolver-guava/src/main/resources/META-INF/services/org.apache.tapestry5.commons.services.GenericsResolver
diff --git a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/AbstractBeanModelSourceImplTest.java b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/AbstractBeanModelSourceImplTest.java
similarity index 97%
rename from genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/AbstractBeanModelSourceImplTest.java
rename to genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/AbstractBeanModelSourceImplTest.java
index e5b6f29..c131174 100644
--- a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/AbstractBeanModelSourceImplTest.java
+++ b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/AbstractBeanModelSourceImplTest.java
@@ -1,4 +1,4 @@
-package org.apache.tapestry5.internal.genericsresolverguava;
+package org.apache.tapestry5.genericsresolverguava.internal;
 //Copyright 2007, 2008, 2009, 2010, 2011 The Apache Software Foundation
 //
 //Licensed under the Apache License, Version 2.0 (the "License");
@@ -67,7 +67,7 @@
      assertEquals(model.getPropertyNames(), Arrays.asList("firstName", "lastName", "age"));
 
      assertEquals(model.toString(),
-             "BeanModel[org.apache.tapestry5.internal.genericsresolverguava.SimpleBean properties:firstName, lastName, age]");
+             "BeanModel[org.apache.tapestry5.genericsresolverguava.internal.SimpleBean properties:firstName, lastName, age]");
 
      PropertyModel age = model.get("age");
 
@@ -299,7 +299,7 @@
      {
          assertEquals(
                  ex.getMessage(),
-                 "Bean editor model for org.apache.tapestry5.internal.genericsresolverguava.SimpleBean already contains a property model for property \'age\'.");
+                 "Bean editor model for org.apache.tapestry5.genericsresolverguava.internal.SimpleBean already contains a property model for property \'age\'.");
      }
 
      verify();
@@ -324,7 +324,7 @@
      {
          assertEquals(
                  ex.getMessage(),
-                 "Bean editor model for org.apache.tapestry5.internal.genericsresolverguava.SimpleBean does not contain a property named \'frobozz\'.");
+                 "Bean editor model for org.apache.tapestry5.genericsresolverguava.internal.SimpleBean does not contain a property named \'frobozz\'.");
 
          assertListsEquals(ex.getAvailableValues().getValues(), "age", "firstName", "lastName");
      }
@@ -353,7 +353,7 @@
      {
          assertEquals(
                  ex.getMessage(),
-                 "Bean editor model for org.apache.tapestry5.internal.genericsresolverguava.SimpleBean does not contain a property with id \'frobozz\'.");
+                 "Bean editor model for org.apache.tapestry5.genericsresolverguava.internal.SimpleBean does not contain a property with id \'frobozz\'.");
 
          assertListsEquals(ex.getAvailableValues().getValues(), "age", "firstName", "lastName", "shrubfoo");
      }
diff --git a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/BeanWithStaticField.java b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/BeanWithStaticField.java
similarity index 68%
rename from genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/BeanWithStaticField.java
rename to genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/BeanWithStaticField.java
index 74da20d..69b50c0 100644
--- a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/BeanWithStaticField.java
+++ b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/BeanWithStaticField.java
@@ -1,4 +1,4 @@
-package org.apache.tapestry5.internal.genericsresolverguava;
+package org.apache.tapestry5.genericsresolverguava.internal;
 
 public class BeanWithStaticField
 {
diff --git a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/Bedrock.java b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/Bedrock.java
similarity index 91%
rename from genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/Bedrock.java
rename to genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/Bedrock.java
index 6cceb86..3547414 100644
--- a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/Bedrock.java
+++ b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/Bedrock.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.internal.genericsresolverguava;
+package org.apache.tapestry5.genericsresolverguava.internal;
 
 public class Bedrock
 {
diff --git a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/ComplexObject.java b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/ComplexObject.java
similarity index 94%
rename from genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/ComplexObject.java
rename to genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/ComplexObject.java
index 6b2f040..914696b 100644
--- a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/ComplexObject.java
+++ b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/ComplexObject.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.internal.genericsresolverguava;
+package org.apache.tapestry5.genericsresolverguava.internal;
 
 public class ComplexObject
 {
diff --git a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/CompositeBean.java b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/CompositeBean.java
similarity index 93%
rename from genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/CompositeBean.java
rename to genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/CompositeBean.java
index 3afd27d..57f9427 100644
--- a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/CompositeBean.java
+++ b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/CompositeBean.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.internal.genericsresolverguava;
+package org.apache.tapestry5.genericsresolverguava.internal;
 
 public class CompositeBean
 {
diff --git a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/DataBean.java b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/DataBean.java
similarity index 95%
rename from genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/DataBean.java
rename to genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/DataBean.java
index ea582fa..536e3bf 100644
--- a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/DataBean.java
+++ b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/DataBean.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.internal.genericsresolverguava;
+package org.apache.tapestry5.genericsresolverguava.internal;
 
 /**
  * Used as test when setting the order of properties in a {@link org.apache.tapestry5.beaneditor.BeanModel}.
diff --git a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/EchoBean.java b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/EchoBean.java
similarity index 97%
rename from genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/EchoBean.java
rename to genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/EchoBean.java
index 588e930..94fbd7e 100644
--- a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/EchoBean.java
+++ b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/EchoBean.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.internal.genericsresolverguava;
+package org.apache.tapestry5.genericsresolverguava.internal;
 
 import java.util.List;
 import java.util.Map;
diff --git a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/EnumBean.java b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/EnumBean.java
similarity index 93%
rename from genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/EnumBean.java
rename to genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/EnumBean.java
index 277ba40..e3efcec 100644
--- a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/EnumBean.java
+++ b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/EnumBean.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.internal.genericsresolverguava;
+package org.apache.tapestry5.genericsresolverguava.internal;
 
 import org.apache.tapestry5.internal.parser.TokenType;
 
diff --git a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/GenericBean.java b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/GenericBean.java
similarity index 92%
rename from genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/GenericBean.java
rename to genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/GenericBean.java
index 2c3f388..a1a8efb 100644
--- a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/GenericBean.java
+++ b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/GenericBean.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.internal.genericsresolverguava;
+package org.apache.tapestry5.genericsresolverguava.internal;
 
 public class GenericBean<T>
 {
diff --git a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/GuavaBeanModelSourceImplTest.java b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/GuavaBeanModelSourceImplTest.java
similarity index 93%
rename from genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/GuavaBeanModelSourceImplTest.java
rename to genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/GuavaBeanModelSourceImplTest.java
index 21ec697..55a7cbe 100644
--- a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/GuavaBeanModelSourceImplTest.java
+++ b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/GuavaBeanModelSourceImplTest.java
@@ -9,7 +9,7 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-package org.apache.tapestry5.internal.genericsresolverguava;
+package org.apache.tapestry5.genericsresolverguava.internal;
 
 import org.apache.tapestry5.beanmodel.BeanModelSourceBuilder;
 import org.apache.tapestry5.beanmodel.services.BeanModelSource;
diff --git a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/NestedObject.java b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/NestedObject.java
similarity index 92%
rename from genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/NestedObject.java
rename to genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/NestedObject.java
index ab549a9..56372c4 100644
--- a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/NestedObject.java
+++ b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/NestedObject.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.internal.genericsresolverguava;
+package org.apache.tapestry5.genericsresolverguava.internal;
 
 public class NestedObject
 {
diff --git a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/NonVisualBean.java b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/NonVisualBean.java
similarity index 94%
rename from genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/NonVisualBean.java
rename to genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/NonVisualBean.java
index c596c13..a8cff7b 100644
--- a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/NonVisualBean.java
+++ b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/NonVisualBean.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.internal.genericsresolverguava;
+package org.apache.tapestry5.genericsresolverguava.internal;
 
 import org.apache.tapestry5.beaneditor.NonVisual;
 
diff --git a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/PropertyOrderBean.java b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/PropertyOrderBean.java
similarity index 95%
rename from genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/PropertyOrderBean.java
rename to genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/PropertyOrderBean.java
index 7b7714e..0289fe6 100644
--- a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/PropertyOrderBean.java
+++ b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/PropertyOrderBean.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.internal.genericsresolverguava;
+package org.apache.tapestry5.genericsresolverguava.internal;
 
 import org.apache.tapestry5.beaneditor.ReorderProperties;
 
diff --git a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/ReadOnlyBean.java b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/ReadOnlyBean.java
similarity index 93%
rename from genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/ReadOnlyBean.java
rename to genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/ReadOnlyBean.java
index dfeccfd..c6c363c 100644
--- a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/ReadOnlyBean.java
+++ b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/ReadOnlyBean.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.internal.genericsresolverguava;
+package org.apache.tapestry5.genericsresolverguava.internal;
 
 public class ReadOnlyBean
 {
diff --git a/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/ServiceLocatorTest.java b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/ServiceLocatorTest.java
new file mode 100644
index 0000000..a7beac9
--- /dev/null
+++ b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/ServiceLocatorTest.java
@@ -0,0 +1,29 @@
+// Copyright 2021 The Apache Software Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+package org.apache.tapestry5.genericsresolverguava.internal;
+
+import org.apache.tapestry5.commons.services.GenericsResolver;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
+@Test
+public class ServiceLocatorTest {
+    
+    @Test
+    public void guava__resolver_properly_added_to_service_locator()
+    {
+        Assert.assertEquals(GenericsResolver.Provider.getInstance().getClass(), GuavaGenericsResolver.class);
+    }
+
+}
diff --git a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/SimpleBean.java b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/SimpleBean.java
similarity index 95%
rename from genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/SimpleBean.java
rename to genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/SimpleBean.java
index 9d9da66..c634c2f 100644
--- a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/SimpleBean.java
+++ b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/SimpleBean.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.internal.genericsresolverguava;
+package org.apache.tapestry5.genericsresolverguava.internal;
 
 import org.apache.tapestry5.beaneditor.Validate;
 import org.apache.tapestry5.beaneditor.Width;
diff --git a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/SimpleBeanSubclass.java b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/SimpleBeanSubclass.java
similarity index 92%
rename from genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/SimpleBeanSubclass.java
rename to genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/SimpleBeanSubclass.java
index d7474a1..1ee24c8 100644
--- a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/SimpleBeanSubclass.java
+++ b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/SimpleBeanSubclass.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.internal.genericsresolverguava;
+package org.apache.tapestry5.genericsresolverguava.internal;
 
 public class SimpleBeanSubclass extends SimpleBean
 {
diff --git a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/StoogeBean.java b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/StoogeBean.java
similarity index 95%
rename from genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/StoogeBean.java
rename to genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/StoogeBean.java
index f5b3706..337dd15 100644
--- a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/StoogeBean.java
+++ b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/StoogeBean.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.internal.genericsresolverguava;
+package org.apache.tapestry5.genericsresolverguava.internal;
 
 import org.apache.tapestry5.beaneditor.ReorderProperties;
 
diff --git a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/StringArrayBean.java b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/StringArrayBean.java
similarity index 92%
rename from genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/StringArrayBean.java
rename to genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/StringArrayBean.java
index 52eceb7..c9ca162 100644
--- a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/StringArrayBean.java
+++ b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/StringArrayBean.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.internal.genericsresolverguava;
+package org.apache.tapestry5.genericsresolverguava.internal;
 
 public class StringArrayBean
 {
diff --git a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/StringHolder.java b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/StringHolder.java
similarity index 91%
rename from genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/StringHolder.java
rename to genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/StringHolder.java
index 9bcb7f0..5226c06 100644
--- a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/StringHolder.java
+++ b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/StringHolder.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.internal.genericsresolverguava;
+package org.apache.tapestry5.genericsresolverguava.internal;
 
 import org.apache.tapestry5.internal.util.Holder;
 
diff --git a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/StringHolderBean.java b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/StringHolderBean.java
similarity index 91%
rename from genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/StringHolderBean.java
rename to genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/StringHolderBean.java
index 627d217..836a897 100644
--- a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/StringHolderBean.java
+++ b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/StringHolderBean.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.internal.genericsresolverguava;
+package org.apache.tapestry5.genericsresolverguava.internal;
 
 public class StringHolderBean extends GenericBean<StringHolder>
 {
diff --git a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/StringSource.java b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/StringSource.java
similarity index 92%
rename from genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/StringSource.java
rename to genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/StringSource.java
index 5903bf5..d5a9f8f 100644
--- a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/StringSource.java
+++ b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/StringSource.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.internal.genericsresolverguava;
+package org.apache.tapestry5.genericsresolverguava.internal;
 
 public class StringSource
 {
diff --git a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/VisibilityBean.java b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/VisibilityBean.java
similarity index 94%
rename from genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/VisibilityBean.java
rename to genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/VisibilityBean.java
index c0f703b..ecc274b 100644
--- a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/VisibilityBean.java
+++ b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/VisibilityBean.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.internal.genericsresolverguava;
+package org.apache.tapestry5.genericsresolverguava.internal;
 
 import org.apache.tapestry5.annotations.Retain;
 
diff --git a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/WriteOnlyBean.java b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/WriteOnlyBean.java
similarity index 93%
rename from genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/WriteOnlyBean.java
rename to genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/WriteOnlyBean.java
index 96de77c..c815a68 100644
--- a/genericsresolver-guava/src/test/java/org/apache/tapestry5/internal/genericsresolverguava/WriteOnlyBean.java
+++ b/genericsresolver-guava/src/test/java/org/apache/tapestry5/genericsresolverguava/internal/WriteOnlyBean.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.internal.genericsresolverguava;
+package org.apache.tapestry5.genericsresolverguava.internal;
 
 public class WriteOnlyBean
 {