renaming packages

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/proxy/branches/version-2.0-work@965011 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/PROPOSAL.html b/PROPOSAL.html
index 4c44865..ddaa1fd 100644
--- a/PROPOSAL.html
+++ b/PROPOSAL.html
@@ -14,6 +14,7 @@
   ~ See the License for the specific language governing permissions and
   ~ limitations under the License.
   -->
+
 <html>
 <head>
     <title>Proposal for Proxy Package</title>
diff --git a/cglib/src/main/java/org/apache/commons/proxy/cglib/CglibProxyFactory.java b/cglib/src/main/java/org/apache/commons/proxy2/cglib/CglibProxyFactory.java
similarity index 94%
rename from cglib/src/main/java/org/apache/commons/proxy/cglib/CglibProxyFactory.java
rename to cglib/src/main/java/org/apache/commons/proxy2/cglib/CglibProxyFactory.java
index df79cc8..4b8c66e 100644
--- a/cglib/src/main/java/org/apache/commons/proxy/cglib/CglibProxyFactory.java
+++ b/cglib/src/main/java/org/apache/commons/proxy2/cglib/CglibProxyFactory.java
@@ -15,7 +15,7 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy.cglib;

+package org.apache.commons.proxy2.cglib;

 

 import net.sf.cglib.proxy.Callback;

 import net.sf.cglib.proxy.CallbackFilter;

@@ -23,13 +23,13 @@
 import net.sf.cglib.proxy.Enhancer;

 import net.sf.cglib.proxy.MethodInterceptor;

 import net.sf.cglib.proxy.MethodProxy;

-import org.apache.commons.proxy.Interceptor;

-import org.apache.commons.proxy.Invocation;

-import org.apache.commons.proxy.Invoker;

-import org.apache.commons.proxy.ObjectProvider;

-import org.apache.commons.proxy.ProxyFactory;

-import org.apache.commons.proxy.ProxyUtils;

-import org.apache.commons.proxy.impl.AbstractSubclassingProxyFactory;

+import org.apache.commons.proxy2.Interceptor;

+import org.apache.commons.proxy2.Invocation;

+import org.apache.commons.proxy2.Invoker;

+import org.apache.commons.proxy2.ObjectProvider;

+import org.apache.commons.proxy2.ProxyFactory;

+import org.apache.commons.proxy2.ProxyUtils;

+import org.apache.commons.proxy2.impl.AbstractSubclassingProxyFactory;

 

 import java.io.Serializable;

 import java.lang.reflect.Method;

diff --git a/cglib/src/main/resources/META-INF/services/org.apache.commons.proxy.ProxyFactory b/cglib/src/main/resources/META-INF/services/org.apache.commons.proxy.ProxyFactory
index 12ec239..1fe9ac3 100644
--- a/cglib/src/main/resources/META-INF/services/org.apache.commons.proxy.ProxyFactory
+++ b/cglib/src/main/resources/META-INF/services/org.apache.commons.proxy.ProxyFactory
@@ -1 +1,17 @@
-org.apache.commons.proxy.cglib.CglibProxyFactory
\ No newline at end of file
+#

+# Licensed to the Apache Software Foundation (ASF) under one or more

+# contributor license agreements.  See the NOTICE file distributed with

+# this work for additional information regarding copyright ownership.

+# The ASF licenses this file to You 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.

+#

+org.apache.commons.proxy2.cglib.CglibProxyFactory
\ No newline at end of file
diff --git a/cglib/src/test/java/org/apache/commons/proxy/cglib/TestCglibProxyFactory.java b/cglib/src/test/java/org/apache/commons/proxy2/cglib/TestCglibProxyFactory.java
similarity index 91%
rename from cglib/src/test/java/org/apache/commons/proxy/cglib/TestCglibProxyFactory.java
rename to cglib/src/test/java/org/apache/commons/proxy2/cglib/TestCglibProxyFactory.java
index 0539e1b..d1b4e1f 100644
--- a/cglib/src/test/java/org/apache/commons/proxy/cglib/TestCglibProxyFactory.java
+++ b/cglib/src/test/java/org/apache/commons/proxy2/cglib/TestCglibProxyFactory.java
@@ -15,9 +15,9 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy.cglib;

+package org.apache.commons.proxy2.cglib;

 

-import org.apache.commons.proxy.AbstractSubclassingProxyFactoryTestCase;

+import org.apache.commons.proxy2.AbstractSubclassingProxyFactoryTestCase;

 

 public class TestCglibProxyFactory extends AbstractSubclassingProxyFactoryTestCase

 {

diff --git a/checkstyle.xml b/checkstyle.xml
index a940aba..42fd910 100644
--- a/checkstyle.xml
+++ b/checkstyle.xml
@@ -1,4 +1,5 @@
 <?xml version="1.0"?>
+
 <!--
   ~ Licensed to the Apache Software Foundation (ASF) under one or more
   ~ contributor license agreements.  See the NOTICE file distributed with
@@ -19,7 +20,7 @@
     "-//Puppy Crawl//DTD Check Configuration 1.1//EN"
     "http://www.puppycrawl.com/dtds/configuration_1_1.dtd">
 
-<!-- commons proxy customization of default Checkstyle behavior -->
+<!-- commons proxy2 customization of default Checkstyle behavior -->
 <module name="Checker">
   <property name="localeLanguage" value="en"/>
 
diff --git a/core/src/main/java/org/apache/commons/proxy/ProxyFactory.java b/core/src/main/java/org/apache/commons/proxy/ProxyFactory.java
deleted file mode 100644
index 61181be..0000000
--- a/core/src/main/java/org/apache/commons/proxy/ProxyFactory.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*

- * Licensed to the Apache Software Foundation (ASF) under one or more

- * contributor license agreements.  See the NOTICE file distributed with

- * this work for additional information regarding copyright ownership.

- * The ASF licenses this file to You 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.commons.proxy;

-

-/**

- * ProxyFactory interface.

- * @since 2.0

- */

-public interface ProxyFactory

-{

-//**********************************************************************************************************************

-// Other Methods

-//**********************************************************************************************************************

-

-    /**

-     * Creates a proxy which delegates to the object provided by <code>delegateProvider</code>.

-     *

-     * @param classLoader      the class loader to use when generating the proxy

-     * @param delegateProvider the delegate provider

-     * @param proxyClass     the class/interface that the proxy should implement

-     * @return a proxy which delegates to the object provided by the target <code>delegateProvider>

-     */

-    public <T> T createDelegatorProxy( ClassLoader classLoader, ObjectProvider<T> delegateProvider,

-                                       Class<T> proxyClass );

-

-    /**

-     * Creates a proxy which passes through a {@link Interceptor interceptor} before eventually reaching the

-     * <code>target</code> object.  The proxy will be generated using the current thread's "context class loader."

-     *

-     * @param target       the target object

-     * @param interceptor  the method interceptor

-     * @param proxyClass the class/interface that the proxy should implement

-     * @return a proxy which passes through a {@link Interceptor interceptor} before eventually reaching the

-     *         <code>target</code> object.

-     */

-    public <T> T createInterceptorProxy( Object target, Interceptor interceptor,

-                                         Class<T> proxyClass );

-

-    /**

-     * Creates a proxy which passes through a {@link Interceptor interceptor} before eventually reaching the

-     * <code>target</code> object.

-     *

-     * @param classLoader  the class loader to use when generating the proxy

-     * @param target       the target object

-     * @param interceptor  the method interceptor

-     * @param proxyClass the class/interface that the proxy should implement.

-     * @return a proxy which passes through a {@link Interceptor interceptor} before eventually reaching the

-     *         <code>target</code> object.

-     */

-    public <T> T createInterceptorProxy( ClassLoader classLoader,

-                                         Object target,

-                                         Interceptor interceptor,

-                                         Class<T> proxyClass );

-

-    /**

-     * Creates a proxy which uses the provided {@link Invoker} to handle all method invocations.  The proxy will be

-     * generated using the current thread's "context class loader."

-     *

-     * @param invoker      the invoker

-     * @param proxyClass the class/interface that the proxy should implement

-     * @return a proxy which uses the provided {@link Invoker} to handle all method invocations

-     */

-    public <T> T createInvokerProxy( Invoker invoker, Class<T> proxyClass );

-

-    /**

-     * Creates a proxy which uses the provided {@link Invoker} to handle all method invocations.

-     *

-     * @param classLoader  the class loader to use when generating the proxy

-     * @param invoker      the invoker

-     * @param proxyClass the class/interface that the proxy should implement

-     * @return a proxy which uses the provided {@link Invoker} to handle all method invocations

-     */

-    public <T> T createInvokerProxy( ClassLoader classLoader, Invoker invoker,

-                                     Class<T> proxyClass );

-

-    /**

-     * Creates a proxy which delegates to the object provided by <code>delegateProvider</code>.  The proxy will be

-     * generated using the current thread's "context class loader."

-     *

-     * @param delegateProvider the delegate provider

-     * @param proxyClass     the class/interface that the proxy should implement

-     * @return a proxy which delegates to the object provided by the target object provider

-     */

-    public <T> T createDelegatorProxy( ObjectProvider<T> delegateProvider, Class<T> proxyClass );

-

-    /**

-     * Learn whether this {@link ProxyFactory} is capable of creating a proxy for the specified set of classes.

-     *

-     * @param proxyClasses the proxy classes

-     * @return boolean

-     */

-    public boolean canProxy( Class<?>... proxyClasses );

-

-    /**

-     * Creates a proxy which delegates to the object provided by <code>delegateProvider</code>.  The proxy will be

-     * generated using the current thread's "context class loader."

-     *

-     * @param delegateProvider the delegate provider

-     * @param proxyClasses     the interfaces that the proxy should implement

-     * @return a proxy which delegates to the object provided by the target object provider

-     */

-    public Object createDelegatorProxy( ObjectProvider<?> delegateProvider, Class<?>... proxyClasses );

-

-    /**

-     * Creates a proxy which delegates to the object provided by <code>delegateProvider</code>.

-     *

-     * @param classLoader      the class loader to use when generating the proxy

-     * @param delegateProvider the delegate provider

-     * @param proxyClasses     the interfaces that the proxy should implement

-     * @return a proxy which delegates to the object provided by the target <code>delegateProvider>

-     */

-    public Object createDelegatorProxy( ClassLoader classLoader, ObjectProvider<?> delegateProvider,

-                                        Class<?>... proxyClasses );

-

-    /**

-     * Creates a proxy which passes through a {@link Interceptor interceptor} before eventually reaching the

-     * <code>target</code> object.  The proxy will be generated using the current thread's "context class loader."

-     *

-     * @param target       the target object

-     * @param interceptor  the method interceptor

-     * @param proxyClasses the interfaces that the proxy should implement

-     * @return a proxy which passes through a {@link Interceptor interceptor} before eventually reaching the

-     *         <code>target</code> object.

-     */

-    public Object createInterceptorProxy( Object target, Interceptor interceptor,

-                                          Class<?>... proxyClasses );

-

-    /**

-     * Creates a proxy which passes through a {@link Interceptor interceptor} before eventually reaching the

-     * <code>target</code> object.

-     *

-     * @param classLoader  the class loader to use when generating the proxy

-     * @param target       the target object

-     * @param interceptor  the method interceptor

-     * @param proxyClasses the interfaces that the proxy should implement.

-     * @return a proxy which passes through a {@link Interceptor interceptor} before eventually reaching the

-     *         <code>target</code> object.

-     */

-    public Object createInterceptorProxy( ClassLoader classLoader, Object target, Interceptor interceptor,

-                                          Class<?>... proxyClasses );

-

-    /**

-     * Creates a proxy which uses the provided {@link Invoker} to handle all method invocations.  The proxy will be

-     * generated using the current thread's "context class loader."

-     *

-     * @param invoker      the invoker

-     * @param proxyClasses the interfaces that the proxy should implement

-     * @return a proxy which uses the provided {@link Invoker} to handle all method invocations

-     */

-    public Object createInvokerProxy( Invoker invoker, Class<?>... proxyClasses );

-

-    /**

-     * Creates a proxy which uses the provided {@link Invoker} to handle all method invocations.

-     *

-     * @param classLoader  the class loader to use when generating the proxy

-     * @param invoker      the invoker

-     * @param proxyClasses the interfaces that the proxy should implement

-     * @return a proxy which uses the provided {@link Invoker} to handle all method invocations

-     */

-    public Object createInvokerProxy( ClassLoader classLoader, Invoker invoker,

-                                      Class<?>... proxyClasses );

-}

diff --git a/core/src/main/java/org/apache/commons/proxy/Interceptor.java b/core/src/main/java/org/apache/commons/proxy2/Interceptor.java
similarity index 97%
rename from core/src/main/java/org/apache/commons/proxy/Interceptor.java
rename to core/src/main/java/org/apache/commons/proxy2/Interceptor.java
index 5d04fd4..11663a7 100644
--- a/core/src/main/java/org/apache/commons/proxy/Interceptor.java
+++ b/core/src/main/java/org/apache/commons/proxy2/Interceptor.java
@@ -15,7 +15,7 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy;

+package org.apache.commons.proxy2;

 

 import java.io.Serializable;

 

diff --git a/core/src/main/java/org/apache/commons/proxy/Invocation.java b/core/src/main/java/org/apache/commons/proxy2/Invocation.java
similarity index 91%
rename from core/src/main/java/org/apache/commons/proxy/Invocation.java
rename to core/src/main/java/org/apache/commons/proxy2/Invocation.java
index be47b32..1871684 100644
--- a/core/src/main/java/org/apache/commons/proxy/Invocation.java
+++ b/core/src/main/java/org/apache/commons/proxy2/Invocation.java
@@ -15,7 +15,7 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy;

+package org.apache.commons.proxy2;

 

 import java.lang.reflect.Method;

 

@@ -47,9 +47,9 @@
     public Method getMethod();

 

     /**

-     * Returns the proxy object on which this invocation was invoked.

+     * Returns the proxy2 object on which this invocation was invoked.

      *

-     * @return the proxy object on which this invocation was invoked

+     * @return the proxy2 object on which this invocation was invoked

      */

     public Object getProxy();

 

diff --git a/core/src/main/java/org/apache/commons/proxy/Invoker.java b/core/src/main/java/org/apache/commons/proxy2/Invoker.java
similarity index 92%
rename from core/src/main/java/org/apache/commons/proxy/Invoker.java
rename to core/src/main/java/org/apache/commons/proxy2/Invoker.java
index fb3bbfa..12aa17a 100644
--- a/core/src/main/java/org/apache/commons/proxy/Invoker.java
+++ b/core/src/main/java/org/apache/commons/proxy2/Invoker.java
@@ -15,7 +15,7 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy;

+package org.apache.commons.proxy2;

 

 import java.io.Serializable;

 import java.lang.reflect.Method;

@@ -33,10 +33,10 @@
 //**********************************************************************************************************************

 

     /**

-     * "Invokes" the method.  Implementation should throw a {@link org.apache.commons.proxy.exception.InvokerException}

+     * "Invokes" the method.  Implementation should throw a {@link org.apache.commons.proxy2.exception.InvokerException}

      * if problems arise while trying to invoke the method.

      *

-     * @param proxy     the proxy object

+     * @param proxy     the proxy2 object

      * @param method    the method being invoked

      * @param arguments the arguments

      * @return the return value

diff --git a/core/src/main/java/org/apache/commons/proxy/ObjectProvider.java b/core/src/main/java/org/apache/commons/proxy2/ObjectProvider.java
similarity index 87%
rename from core/src/main/java/org/apache/commons/proxy/ObjectProvider.java
rename to core/src/main/java/org/apache/commons/proxy2/ObjectProvider.java
index 2e3e240..2f51642 100644
--- a/core/src/main/java/org/apache/commons/proxy/ObjectProvider.java
+++ b/core/src/main/java/org/apache/commons/proxy2/ObjectProvider.java
@@ -15,10 +15,10 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy;

+package org.apache.commons.proxy2;

 

 /**

- * Provides an object to a delegating proxy.

+ * Provides an object to a delegating proxy2.

  *

  * @author James Carman

  * @since 1.0

@@ -31,7 +31,7 @@
 

     /**

      * Returns an object.  Implementing classes should throw a

-     * {@link org.apache.commons.proxy.exception.ObjectProviderException} if any problems arise while

+     * {@link org.apache.commons.proxy2.exception.ObjectProviderException} if any problems arise while

      * constructing/finding the object.

      *

      * @return the object on which the method should be called

diff --git a/core/src/main/java/org/apache/commons/proxy2/ProxyFactory.java b/core/src/main/java/org/apache/commons/proxy2/ProxyFactory.java
new file mode 100644
index 0000000..4072edf
--- /dev/null
+++ b/core/src/main/java/org/apache/commons/proxy2/ProxyFactory.java
@@ -0,0 +1,177 @@
+/*

+ * Licensed to the Apache Software Foundation (ASF) under one or more

+ * contributor license agreements.  See the NOTICE file distributed with

+ * this work for additional information regarding copyright ownership.

+ * The ASF licenses this file to You 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.commons.proxy2;

+

+/**

+ * ProxyFactory interface.

+ * @since 2.0

+ */

+public interface ProxyFactory

+{

+//**********************************************************************************************************************

+// Other Methods

+//**********************************************************************************************************************

+

+    /**

+     * Creates a proxy2 which delegates to the object provided by <code>delegateProvider</code>.

+     *

+     * @param classLoader      the class loader to use when generating the proxy2

+     * @param delegateProvider the delegate provider

+     * @param proxyClass     the class/interface that the proxy2 should implement

+     * @return a proxy2 which delegates to the object provided by the target <code>delegateProvider>

+     */

+    public <T> T createDelegatorProxy( ClassLoader classLoader, ObjectProvider<T> delegateProvider,

+                                       Class<T> proxyClass );

+

+    /**

+     * Creates a proxy2 which passes through a {@link Interceptor interceptor} before eventually reaching the

+     * <code>target</code> object.  The proxy2 will be generated using the current thread's "context class loader."

+     *

+     * @param target       the target object

+     * @param interceptor  the method interceptor

+     * @param proxyClass the class/interface that the proxy2 should implement

+     * @return a proxy2 which passes through a {@link Interceptor interceptor} before eventually reaching the

+     *         <code>target</code> object.

+     */

+    public <T> T createInterceptorProxy( Object target, Interceptor interceptor,

+                                         Class<T> proxyClass );

+

+    /**

+     * Creates a proxy2 which passes through a {@link Interceptor interceptor} before eventually reaching the

+     * <code>target</code> object.

+     *

+     * @param classLoader  the class loader to use when generating the proxy2

+     * @param target       the target object

+     * @param interceptor  the method interceptor

+     * @param proxyClass the class/interface that the proxy2 should implement.

+     * @return a proxy2 which passes through a {@link Interceptor interceptor} before eventually reaching the

+     *         <code>target</code> object.

+     */

+    public <T> T createInterceptorProxy( ClassLoader classLoader,

+                                         Object target,

+                                         Interceptor interceptor,

+                                         Class<T> proxyClass );

+

+    /**

+     * Creates a proxy2 which uses the provided {@link Invoker} to handle all method invocations.  The proxy2 will be

+     * generated using the current thread's "context class loader."

+     *

+     * @param invoker      the invoker

+     * @param proxyClass the class/interface that the proxy2 should implement

+     * @return a proxy2 which uses the provided {@link Invoker} to handle all method invocations

+     */

+    public <T> T createInvokerProxy( Invoker invoker, Class<T> proxyClass );

+

+    /**

+     * Creates a proxy2 which uses the provided {@link Invoker} to handle all method invocations.

+     *

+     * @param classLoader  the class loader to use when generating the proxy2

+     * @param invoker      the invoker

+     * @param proxyClass the class/interface that the proxy2 should implement

+     * @return a proxy2 which uses the provided {@link Invoker} to handle all method invocations

+     */

+    public <T> T createInvokerProxy( ClassLoader classLoader, Invoker invoker,

+                                     Class<T> proxyClass );

+

+    /**

+     * Creates a proxy2 which delegates to the object provided by <code>delegateProvider</code>.  The proxy2 will be

+     * generated using the current thread's "context class loader."

+     *

+     * @param delegateProvider the delegate provider

+     * @param proxyClass     the class/interface that the proxy2 should implement

+     * @return a proxy2 which delegates to the object provided by the target object provider

+     */

+    public <T> T createDelegatorProxy( ObjectProvider<T> delegateProvider, Class<T> proxyClass );

+

+    /**

+     * Learn whether this {@link ProxyFactory} is capable of creating a proxy2 for the specified set of classes.

+     *

+     * @param proxyClasses the proxy2 classes

+     * @return boolean

+     */

+    public boolean canProxy( Class<?>... proxyClasses );

+

+    /**

+     * Creates a proxy2 which delegates to the object provided by <code>delegateProvider</code>.  The proxy2 will be

+     * generated using the current thread's "context class loader."

+     *

+     * @param delegateProvider the delegate provider

+     * @param proxyClasses     the interfaces that the proxy2 should implement

+     * @return a proxy2 which delegates to the object provided by the target object provider

+     */

+    public Object createDelegatorProxy( ObjectProvider<?> delegateProvider, Class<?>... proxyClasses );

+

+    /**

+     * Creates a proxy2 which delegates to the object provided by <code>delegateProvider</code>.

+     *

+     * @param classLoader      the class loader to use when generating the proxy2

+     * @param delegateProvider the delegate provider

+     * @param proxyClasses     the interfaces that the proxy2 should implement

+     * @return a proxy2 which delegates to the object provided by the target <code>delegateProvider>

+     */

+    public Object createDelegatorProxy( ClassLoader classLoader, ObjectProvider<?> delegateProvider,

+                                        Class<?>... proxyClasses );

+

+    /**

+     * Creates a proxy2 which passes through a {@link Interceptor interceptor} before eventually reaching the

+     * <code>target</code> object.  The proxy2 will be generated using the current thread's "context class loader."

+     *

+     * @param target       the target object

+     * @param interceptor  the method interceptor

+     * @param proxyClasses the interfaces that the proxy2 should implement

+     * @return a proxy2 which passes through a {@link Interceptor interceptor} before eventually reaching the

+     *         <code>target</code> object.

+     */

+    public Object createInterceptorProxy( Object target, Interceptor interceptor,

+                                          Class<?>... proxyClasses );

+

+    /**

+     * Creates a proxy2 which passes through a {@link Interceptor interceptor} before eventually reaching the

+     * <code>target</code> object.

+     *

+     * @param classLoader  the class loader to use when generating the proxy2

+     * @param target       the target object

+     * @param interceptor  the method interceptor

+     * @param proxyClasses the interfaces that the proxy2 should implement.

+     * @return a proxy2 which passes through a {@link Interceptor interceptor} before eventually reaching the

+     *         <code>target</code> object.

+     */

+    public Object createInterceptorProxy( ClassLoader classLoader, Object target, Interceptor interceptor,

+                                          Class<?>... proxyClasses );

+

+    /**

+     * Creates a proxy2 which uses the provided {@link Invoker} to handle all method invocations.  The proxy2 will be

+     * generated using the current thread's "context class loader."

+     *

+     * @param invoker      the invoker

+     * @param proxyClasses the interfaces that the proxy2 should implement

+     * @return a proxy2 which uses the provided {@link Invoker} to handle all method invocations

+     */

+    public Object createInvokerProxy( Invoker invoker, Class<?>... proxyClasses );

+

+    /**

+     * Creates a proxy2 which uses the provided {@link Invoker} to handle all method invocations.

+     *

+     * @param classLoader  the class loader to use when generating the proxy2

+     * @param invoker      the invoker

+     * @param proxyClasses the interfaces that the proxy2 should implement

+     * @return a proxy2 which uses the provided {@link Invoker} to handle all method invocations

+     */

+    public Object createInvokerProxy( ClassLoader classLoader, Invoker invoker,

+                                      Class<?>... proxyClasses );

+}

diff --git a/core/src/main/java/org/apache/commons/proxy/ProxyUtils.java b/core/src/main/java/org/apache/commons/proxy2/ProxyUtils.java
similarity index 94%
rename from core/src/main/java/org/apache/commons/proxy/ProxyUtils.java
rename to core/src/main/java/org/apache/commons/proxy2/ProxyUtils.java
index ef57475..17b62fb 100644
--- a/core/src/main/java/org/apache/commons/proxy/ProxyUtils.java
+++ b/core/src/main/java/org/apache/commons/proxy2/ProxyUtils.java
@@ -15,9 +15,9 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy;

+package org.apache.commons.proxy2;

 

-import org.apache.commons.proxy.invoker.NullInvoker;

+import org.apache.commons.proxy2.invoker.NullInvoker;

 

 import java.lang.reflect.Method;

 import java.util.HashMap;

@@ -26,7 +26,7 @@
 import java.util.Map;

 

 /**

- * Provides some helpful proxy utility methods.

+ * Provides some helpful proxy2 utility methods.

  *

  * @author James Carman

  * @since 1.0

@@ -73,8 +73,8 @@
     /**

      * Creates a "null object" which implements the <code>proxyClasses</code>.

      *

-     * @param proxyFactory the proxy factory to be used to create the proxy object

-     * @param proxyClasses the proxy interfaces

+     * @param proxyFactory the proxy2 factory to be used to create the proxy2 object

+     * @param proxyClasses the proxy2 interfaces

      * @return a "null object" which implements the <code>proxyClasses</code>.

      */

     public static Object createNullObject(ProxyFactory proxyFactory, Class<?>[] proxyClasses)

@@ -85,9 +85,9 @@
     /**

      * Creates a "null object" which implements the <code>proxyClasses</code>.

      *

-     * @param proxyFactory the proxy factory to be used to create the proxy object

-     * @param classLoader  the class loader to be used by the proxy factory to create the proxy object

-     * @param proxyClasses the proxy interfaces

+     * @param proxyFactory the proxy2 factory to be used to create the proxy2 object

+     * @param classLoader  the class loader to be used by the proxy2 factory to create the proxy2 object

+     * @param proxyClasses the proxy2 interfaces

      * @return a "null object" which implements the <code>proxyClasses</code>.

      */

     public static Object createNullObject(ProxyFactory proxyFactory, ClassLoader classLoader, Class<?>[] proxyClasses)

diff --git a/core/src/main/java/org/apache/commons/proxy/exception/InvokerException.java b/core/src/main/java/org/apache/commons/proxy2/exception/InvokerException.java
similarity index 93%
rename from core/src/main/java/org/apache/commons/proxy/exception/InvokerException.java
rename to core/src/main/java/org/apache/commons/proxy2/exception/InvokerException.java
index 17fbcba..a747968 100644
--- a/core/src/main/java/org/apache/commons/proxy/exception/InvokerException.java
+++ b/core/src/main/java/org/apache/commons/proxy2/exception/InvokerException.java
@@ -15,10 +15,10 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy.exception;

+package org.apache.commons.proxy2.exception;

 

 /**

- * To be used by an {@link org.apache.commons.proxy.Invoker} when they encounter an error.

+ * To be used by an {@link org.apache.commons.proxy2.Invoker} when they encounter an error.

  *

  * @author James Carman

  * @since 1.0

diff --git a/core/src/main/java/org/apache/commons/proxy/exception/ObjectProviderException.java b/core/src/main/java/org/apache/commons/proxy2/exception/ObjectProviderException.java
similarity index 92%
rename from core/src/main/java/org/apache/commons/proxy/exception/ObjectProviderException.java
rename to core/src/main/java/org/apache/commons/proxy2/exception/ObjectProviderException.java
index ce5af2a..7b956ca 100644
--- a/core/src/main/java/org/apache/commons/proxy/exception/ObjectProviderException.java
+++ b/core/src/main/java/org/apache/commons/proxy2/exception/ObjectProviderException.java
@@ -15,10 +15,10 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy.exception;

+package org.apache.commons.proxy2.exception;

 

 /**

- * {@link org.apache.commons.proxy.ObjectProvider} implementations should throw this exception type to indicate that

+ * {@link org.apache.commons.proxy2.ObjectProvider} implementations should throw this exception type to indicate that

  * there was a problem creating/finding the object.

  *

  * @author James Carman

diff --git a/core/src/main/java/org/apache/commons/proxy/exception/ProxyFactoryException.java b/core/src/main/java/org/apache/commons/proxy2/exception/ProxyFactoryException.java
similarity index 95%
rename from core/src/main/java/org/apache/commons/proxy/exception/ProxyFactoryException.java
rename to core/src/main/java/org/apache/commons/proxy2/exception/ProxyFactoryException.java
index e1c356b..3490b1a 100644
--- a/core/src/main/java/org/apache/commons/proxy/exception/ProxyFactoryException.java
+++ b/core/src/main/java/org/apache/commons/proxy2/exception/ProxyFactoryException.java
@@ -15,10 +15,10 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy.exception;

+package org.apache.commons.proxy2.exception;

 

 /**

- * A runtime exception type to be used by {@link org.apache.commons.proxy.ProxyFactory proxy factories} when a problem

+ * A runtime exception type to be used by {@link org.apache.commons.proxy2.ProxyFactory proxy2 factories} when a problem

  * occurs.

  *

  * @author James Carman

diff --git a/core/src/main/java/org/apache/commons/proxy/impl/AbstractProxyClassGenerator.java b/core/src/main/java/org/apache/commons/proxy2/impl/AbstractProxyClassGenerator.java
similarity index 90%
rename from core/src/main/java/org/apache/commons/proxy/impl/AbstractProxyClassGenerator.java
rename to core/src/main/java/org/apache/commons/proxy2/impl/AbstractProxyClassGenerator.java
index b9dc8af..9d12608 100644
--- a/core/src/main/java/org/apache/commons/proxy/impl/AbstractProxyClassGenerator.java
+++ b/core/src/main/java/org/apache/commons/proxy2/impl/AbstractProxyClassGenerator.java
@@ -15,7 +15,7 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy.impl;

+package org.apache.commons.proxy2.impl;

 

 import java.lang.reflect.Method;

 import java.lang.reflect.Modifier;

@@ -38,12 +38,12 @@
 //**********************************************************************************************************************

 

     /**

-     * Returns all methods that a proxy class must implement from the proxy interfaces.  This method makes sure there

+     * Returns all methods that a proxy2 class must implement from the proxy2 interfaces.  This method makes sure there

      * are no method signature clashes. For methods with the same signature (name and parameter types), the one

      * encountered first will be returned in the result. Final methods are also excluded from the result.

      *

-     * @param proxyClasses the interfaces the proxy class must implement

-     * @return all methods that the proxy class must implement

+     * @param proxyClasses the interfaces the proxy2 class must implement

+     * @return all methods that the proxy2 class must implement

      */

     public static Method[] getImplementationMethods( Class<?>[] proxyClasses )

     {

diff --git a/core/src/main/java/org/apache/commons/proxy/impl/AbstractProxyFactory.java b/core/src/main/java/org/apache/commons/proxy2/impl/AbstractProxyFactory.java
similarity index 63%
rename from core/src/main/java/org/apache/commons/proxy/impl/AbstractProxyFactory.java
rename to core/src/main/java/org/apache/commons/proxy2/impl/AbstractProxyFactory.java
index 613f03e..23be8f1 100644
--- a/core/src/main/java/org/apache/commons/proxy/impl/AbstractProxyFactory.java
+++ b/core/src/main/java/org/apache/commons/proxy2/impl/AbstractProxyFactory.java
@@ -15,12 +15,12 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy.impl;

+package org.apache.commons.proxy2.impl;

 

-import org.apache.commons.proxy.Interceptor;

-import org.apache.commons.proxy.Invoker;

-import org.apache.commons.proxy.ObjectProvider;

-import org.apache.commons.proxy.ProxyFactory;

+import org.apache.commons.proxy2.Interceptor;

+import org.apache.commons.proxy2.Invoker;

+import org.apache.commons.proxy2.ObjectProvider;

+import org.apache.commons.proxy2.ProxyFactory;

 

 /**

  * Base abstract {@link ProxyFactory} implementation, primarily providing

@@ -32,7 +32,7 @@
     /**

      * Returns true if all <code>proxyClasses</code> are interfaces.

      *

-     * @param proxyClasses the proxy classes

+     * @param proxyClasses the proxy2 classes

      * @return true if all <code>proxyClasses</code> are interfaces

      */

     public boolean canProxy( Class<?>... proxyClasses )

@@ -48,12 +48,12 @@
     }

 

     /**

-     * Creates a proxy which delegates to the object provided by <code>delegateProvider</code>.  The proxy will be

+     * Creates a proxy2 which delegates to the object provided by <code>delegateProvider</code>.  The proxy2 will be

      * generated using the current thread's "context class loader."

      *

      * @param delegateProvider the delegate provider

-     * @param proxyClasses     the interfaces that the proxy should implement

-     * @return a proxy which delegates to the object provided by the target object provider

+     * @param proxyClasses     the interfaces that the proxy2 should implement

+     * @return a proxy2 which delegates to the object provided by the target object provider

      */

     public Object createDelegatorProxy( ObjectProvider<?> delegateProvider, Class<?>... proxyClasses )

     {

@@ -61,12 +61,12 @@
     }

 

     /**

-     * Creates a proxy which delegates to the object provided by <code>delegateProvider</code>.  The proxy will be

+     * Creates a proxy2 which delegates to the object provided by <code>delegateProvider</code>.  The proxy2 will be

      * generated using the current thread's "context class loader."

      *

      * @param delegateProvider the delegate provider

-     * @param proxyClass     the class/interface that the proxy should implement

-     * @return a proxy which delegates to the object provided by the target object provider

+     * @param proxyClass     the class/interface that the proxy2 should implement

+     * @return a proxy2 which delegates to the object provided by the target object provider

      */

     @SuppressWarnings("unchecked")

     public <T> T createDelegatorProxy( ObjectProvider<T> delegateProvider, Class<T> proxyClass )

@@ -75,12 +75,12 @@
     }

 

     /**

-     * Creates a proxy which delegates to the object provided by <code>delegateProvider</code>.

+     * Creates a proxy2 which delegates to the object provided by <code>delegateProvider</code>.

      *

-     * @param classLoader      the class loader to use when generating the proxy

+     * @param classLoader      the class loader to use when generating the proxy2

      * @param delegateProvider the delegate provider

-     * @param proxyClass     the class/interface that the proxy should implement

-     * @return a proxy which delegates to the object provided by the target <code>delegateProvider>

+     * @param proxyClass     the class/interface that the proxy2 should implement

+     * @return a proxy2 which delegates to the object provided by the target <code>delegateProvider>

      */

     @SuppressWarnings( "unchecked" )

     public <T> T createDelegatorProxy( ClassLoader classLoader, ObjectProvider<T> delegateProvider,

@@ -90,13 +90,13 @@
     }

 

     /**

-     * Creates a proxy which passes through a {@link Interceptor interceptor} before eventually reaching the

-     * <code>target</code> object.  The proxy will be generated using the current thread's "context class loader."

+     * Creates a proxy2 which passes through a {@link Interceptor interceptor} before eventually reaching the

+     * <code>target</code> object.  The proxy2 will be generated using the current thread's "context class loader."

      *

      * @param target       the target object

      * @param interceptor  the method interceptor

-     * @param proxyClasses the interfaces that the proxy should implement

-     * @return a proxy which passes through a {@link Interceptor interceptor} before eventually reaching the

+     * @param proxyClasses the interfaces that the proxy2 should implement

+     * @return a proxy2 which passes through a {@link Interceptor interceptor} before eventually reaching the

      *         <code>target</code> object.

      */

     public Object createInterceptorProxy( Object target, Interceptor interceptor,

@@ -107,13 +107,13 @@
     }

 

     /**

-     * Creates a proxy which passes through a {@link Interceptor interceptor} before eventually reaching the

-     * <code>target</code> object.  The proxy will be generated using the current thread's "context class loader."

+     * Creates a proxy2 which passes through a {@link Interceptor interceptor} before eventually reaching the

+     * <code>target</code> object.  The proxy2 will be generated using the current thread's "context class loader."

      *

      * @param target       the target object

      * @param interceptor  the method interceptor

-     * @param proxyClass the class/interface that the proxy should implement

-     * @return a proxy which passes through a {@link Interceptor interceptor} before eventually reaching the

+     * @param proxyClass the class/interface that the proxy2 should implement

+     * @return a proxy2 which passes through a {@link Interceptor interceptor} before eventually reaching the

      *         <code>target</code> object.

      */

     @SuppressWarnings( "unchecked" )

@@ -124,14 +124,14 @@
     }

 

     /**

-     * Creates a proxy which passes through a {@link Interceptor interceptor} before eventually reaching the

+     * Creates a proxy2 which passes through a {@link Interceptor interceptor} before eventually reaching the

      * <code>target</code> object.

      *

-     * @param classLoader  the class loader to use when generating the proxy

+     * @param classLoader  the class loader to use when generating the proxy2

      * @param target       the target object

      * @param interceptor  the method interceptor

-     * @param proxyClass the class/interface that the proxy should implement.

-     * @return a proxy which passes through a {@link Interceptor interceptor} before eventually reaching the

+     * @param proxyClass the class/interface that the proxy2 should implement.

+     * @return a proxy2 which passes through a {@link Interceptor interceptor} before eventually reaching the

      *         <code>target</code> object.

      */

     @SuppressWarnings( "unchecked" )

@@ -144,12 +144,12 @@
     }

 

     /**

-     * Creates a proxy which uses the provided {@link Invoker} to handle all method invocations.  The proxy will be

+     * Creates a proxy2 which uses the provided {@link Invoker} to handle all method invocations.  The proxy2 will be

      * generated using the current thread's "context class loader."

      *

      * @param invoker      the invoker

-     * @param proxyClasses the interfaces that the proxy should implement

-     * @return a proxy which uses the provided {@link Invoker} to handle all method invocations

+     * @param proxyClasses the interfaces that the proxy2 should implement

+     * @return a proxy2 which uses the provided {@link Invoker} to handle all method invocations

      */

     public Object createInvokerProxy( Invoker invoker, Class<?>... proxyClasses )

     {

@@ -158,12 +158,12 @@
     }

 

     /**

-     * Creates a proxy which uses the provided {@link Invoker} to handle all method invocations.  The proxy will be

+     * Creates a proxy2 which uses the provided {@link Invoker} to handle all method invocations.  The proxy2 will be

      * generated using the current thread's "context class loader."

      *

      * @param invoker      the invoker

-     * @param proxyClass the class/interface that the proxy should implement

-     * @return a proxy which uses the provided {@link Invoker} to handle all method invocations

+     * @param proxyClass the class/interface that the proxy2 should implement

+     * @return a proxy2 which uses the provided {@link Invoker} to handle all method invocations

      */

     @SuppressWarnings( "unchecked" )

     public <T> T createInvokerProxy( Invoker invoker, Class<T> proxyClass )

@@ -172,12 +172,12 @@
     }

 

     /**

-     * Creates a proxy which uses the provided {@link Invoker} to handle all method invocations.

+     * Creates a proxy2 which uses the provided {@link Invoker} to handle all method invocations.

      *

-     * @param classLoader  the class loader to use when generating the proxy

+     * @param classLoader  the class loader to use when generating the proxy2

      * @param invoker      the invoker

-     * @param proxyClass the class/interface that the proxy should implement

-     * @return a proxy which uses the provided {@link Invoker} to handle all method invocations

+     * @param proxyClass the class/interface that the proxy2 should implement

+     * @return a proxy2 which uses the provided {@link Invoker} to handle all method invocations

      */

     @SuppressWarnings( "unchecked" )

     public <T> T createInvokerProxy( ClassLoader classLoader, Invoker invoker,

diff --git a/core/src/main/java/org/apache/commons/proxy/impl/AbstractSubclassingProxyFactory.java b/core/src/main/java/org/apache/commons/proxy2/impl/AbstractSubclassingProxyFactory.java
similarity index 95%
rename from core/src/main/java/org/apache/commons/proxy/impl/AbstractSubclassingProxyFactory.java
rename to core/src/main/java/org/apache/commons/proxy2/impl/AbstractSubclassingProxyFactory.java
index bffa869..b2936c5 100644
--- a/core/src/main/java/org/apache/commons/proxy/impl/AbstractSubclassingProxyFactory.java
+++ b/core/src/main/java/org/apache/commons/proxy2/impl/AbstractSubclassingProxyFactory.java
@@ -1,6 +1,6 @@
-package org.apache.commons.proxy.impl;

+package org.apache.commons.proxy2.impl;

 

-import org.apache.commons.proxy.exception.ProxyFactoryException;

+import org.apache.commons.proxy2.exception.ProxyFactoryException;

 

 import java.io.Serializable;

 import java.lang.reflect.Constructor;

@@ -21,7 +21,7 @@
     /**

      * Returns true if a suitable superclass can be found, given the desired <code>proxyClasses</code>.

      *

-     * @param proxyClasses the proxy classes

+     * @param proxyClasses the proxy2 classes

      * @return true if a suitable superclass can be found, given the desired <code>proxyClasses</code>

      */

     public boolean canProxy( Class<?>... proxyClasses )

@@ -75,7 +75,7 @@
      * <b>Note</b>: This class will append {@link Serializable} to the end of the list if it's

      * not found!

      *

-     * @param proxyClasses the proxy classes

+     * @param proxyClasses the proxy2 classes

      * @return the <code>proxyClasses</code> transformed into an array of only the interface classes

      */

     protected static Class<?>[] toInterfaces( Class<?>[] proxyClasses )

@@ -101,7 +101,7 @@
      * Returns either {@link Object} if all of the <code>proxyClasses</code> are interfaces or the single non-interface

      * class from <code>proxyClasses</code>.

      *

-     * @param proxyClasses the proxy classes

+     * @param proxyClasses the proxy2 classes

      * @return either {@link Object} if all of the <code>proxyClasses</code> are interfaces or the single non-interface

      *         class from <code>proxyClasses</code>

      * @throws ProxyFactoryException if multiple non-interface classes are contained in <code>proxyClasses</code> or any

diff --git a/core/src/main/java/org/apache/commons/proxy/impl/MethodSignature.java b/core/src/main/java/org/apache/commons/proxy2/impl/MethodSignature.java
similarity index 98%
rename from core/src/main/java/org/apache/commons/proxy/impl/MethodSignature.java
rename to core/src/main/java/org/apache/commons/proxy2/impl/MethodSignature.java
index 78a5714..1495f9f 100644
--- a/core/src/main/java/org/apache/commons/proxy/impl/MethodSignature.java
+++ b/core/src/main/java/org/apache/commons/proxy2/impl/MethodSignature.java
@@ -15,7 +15,7 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy.impl;

+package org.apache.commons.proxy2.impl;

 

 import java.lang.reflect.Method;

 import java.util.Arrays;

diff --git a/core/src/main/java/org/apache/commons/proxy/impl/ProxyClassCache.java b/core/src/main/java/org/apache/commons/proxy2/impl/ProxyClassCache.java
similarity index 88%
rename from core/src/main/java/org/apache/commons/proxy/impl/ProxyClassCache.java
rename to core/src/main/java/org/apache/commons/proxy2/impl/ProxyClassCache.java
index 2339746..a197ec9 100644
--- a/core/src/main/java/org/apache/commons/proxy/impl/ProxyClassCache.java
+++ b/core/src/main/java/org/apache/commons/proxy2/impl/ProxyClassCache.java
@@ -15,7 +15,7 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy.impl;

+package org.apache.commons.proxy2.impl;

 

 import java.lang.ref.Reference;

 import java.lang.ref.WeakReference;

@@ -28,8 +28,8 @@
 

 /**

  * A cache for storing implementation classes for proxies based on a specific type of {@link ProxyClassGenerator}.  A

- * proxy class cache ensures that there is only one class for every

- * {@link ProxyClassGenerator}/{@link ClassLoader}/proxy class array combination.

+ * proxy2 class cache ensures that there is only one class for every

+ * {@link ProxyClassGenerator}/{@link ClassLoader}/proxy2 class array combination.

  *

  * @author James Carman

  * @since 1.0

@@ -79,13 +79,13 @@
     }

 

     /**

-     * Returns the proxy class generated by the {@link ProxyClassGenerator} using the specified {@link ClassLoader} and

-     * array of proxy classes.

+     * Returns the proxy2 class generated by the {@link ProxyClassGenerator} using the specified {@link ClassLoader} and

+     * array of proxy2 classes.

      *

      * @param classLoader  the classloader

-     * @param proxyClasses the proxy classes

-     * @return the proxy class generated by the {@link ProxyClassGenerator} using the specified {@link ClassLoader} and

-     *         array of proxy classes

+     * @param proxyClasses the proxy2 classes

+     * @return the proxy2 class generated by the {@link ProxyClassGenerator} using the specified {@link ClassLoader} and

+     *         array of proxy2 classes

      */

     public synchronized Class<?> getProxyClass( ClassLoader classLoader, Class<?>[] proxyClasses )

     {

diff --git a/core/src/main/java/org/apache/commons/proxy/impl/ProxyClassGenerator.java b/core/src/main/java/org/apache/commons/proxy2/impl/ProxyClassGenerator.java
similarity index 80%
rename from core/src/main/java/org/apache/commons/proxy/impl/ProxyClassGenerator.java
rename to core/src/main/java/org/apache/commons/proxy2/impl/ProxyClassGenerator.java
index 78ab2bc..4dea318 100644
--- a/core/src/main/java/org/apache/commons/proxy/impl/ProxyClassGenerator.java
+++ b/core/src/main/java/org/apache/commons/proxy2/impl/ProxyClassGenerator.java
@@ -15,10 +15,10 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy.impl;

+package org.apache.commons.proxy2.impl;

 

 /**

- * A proxy class generator generates specific type of proxies (interceptor, invoker, etc.).

+ * A proxy2 class generator generates specific type of proxies (interceptor, invoker, etc.).

  *

  * @author James Carman

  * @since 1.0

@@ -30,11 +30,11 @@
 //**********************************************************************************************************************

 

     /**

-     * Generates a proxy class for the supplied {@link ClassLoader} and proxy classes.

+     * Generates a proxy2 class for the supplied {@link ClassLoader} and proxy2 classes.

      *

      * @param classLoader  the classloader

-     * @param proxyClasses the proxy classes

-     * @return the dynamically generated proxy class

+     * @param proxyClasses the proxy2 classes

+     * @return the dynamically generated proxy2 class

      */

     public Class<?> generateProxyClass( ClassLoader classLoader, Class<?>[] proxyClasses );

 }

diff --git a/core/src/main/java/org/apache/commons/proxy/invoker/DuckTypingInvoker.java b/core/src/main/java/org/apache/commons/proxy2/invoker/DuckTypingInvoker.java
similarity index 96%
rename from core/src/main/java/org/apache/commons/proxy/invoker/DuckTypingInvoker.java
rename to core/src/main/java/org/apache/commons/proxy2/invoker/DuckTypingInvoker.java
index f36a0c2..7a77b35 100644
--- a/core/src/main/java/org/apache/commons/proxy/invoker/DuckTypingInvoker.java
+++ b/core/src/main/java/org/apache/commons/proxy2/invoker/DuckTypingInvoker.java
@@ -15,10 +15,10 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy.invoker;

+package org.apache.commons.proxy2.invoker;

 

-import org.apache.commons.proxy.Invoker;

-import org.apache.commons.proxy.ObjectProvider;

+import org.apache.commons.proxy2.Invoker;

+import org.apache.commons.proxy2.ObjectProvider;

 

 import java.lang.reflect.Method;

 

diff --git a/core/src/main/java/org/apache/commons/proxy/invoker/InvocationHandlerAdapter.java b/core/src/main/java/org/apache/commons/proxy2/invoker/InvocationHandlerAdapter.java
similarity index 96%
rename from core/src/main/java/org/apache/commons/proxy/invoker/InvocationHandlerAdapter.java
rename to core/src/main/java/org/apache/commons/proxy2/invoker/InvocationHandlerAdapter.java
index a6722e4..71714ba 100644
--- a/core/src/main/java/org/apache/commons/proxy/invoker/InvocationHandlerAdapter.java
+++ b/core/src/main/java/org/apache/commons/proxy2/invoker/InvocationHandlerAdapter.java
@@ -15,9 +15,9 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy.invoker;

+package org.apache.commons.proxy2.invoker;

 

-import org.apache.commons.proxy.Invoker;

+import org.apache.commons.proxy2.Invoker;

 

 import java.lang.reflect.InvocationHandler;

 import java.lang.reflect.Method;

diff --git a/core/src/main/java/org/apache/commons/proxy/invoker/NullInvoker.java b/core/src/main/java/org/apache/commons/proxy2/invoker/NullInvoker.java
similarity index 92%
rename from core/src/main/java/org/apache/commons/proxy/invoker/NullInvoker.java
rename to core/src/main/java/org/apache/commons/proxy2/invoker/NullInvoker.java
index 51bf64c..2475eac 100644
--- a/core/src/main/java/org/apache/commons/proxy/invoker/NullInvoker.java
+++ b/core/src/main/java/org/apache/commons/proxy2/invoker/NullInvoker.java
@@ -15,10 +15,10 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy.invoker;

+package org.apache.commons.proxy2.invoker;

 

-import org.apache.commons.proxy.Invoker;

-import org.apache.commons.proxy.ProxyUtils;

+import org.apache.commons.proxy2.Invoker;

+import org.apache.commons.proxy2.ProxyUtils;

 

 import java.io.Serializable;

 import java.lang.reflect.Method;

diff --git a/core/src/main/java/org/apache/commons/proxy/invoker/XmlRpcInvoker.java b/core/src/main/java/org/apache/commons/proxy2/invoker/XmlRpcInvoker.java
similarity index 95%
rename from core/src/main/java/org/apache/commons/proxy/invoker/XmlRpcInvoker.java
rename to core/src/main/java/org/apache/commons/proxy2/invoker/XmlRpcInvoker.java
index 4a7087c..3c7bc90 100644
--- a/core/src/main/java/org/apache/commons/proxy/invoker/XmlRpcInvoker.java
+++ b/core/src/main/java/org/apache/commons/proxy2/invoker/XmlRpcInvoker.java
@@ -15,10 +15,10 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy.invoker;

+package org.apache.commons.proxy2.invoker;

 

-import org.apache.commons.proxy.Invoker;

-import org.apache.commons.proxy.exception.InvokerException;

+import org.apache.commons.proxy2.Invoker;

+import org.apache.commons.proxy2.exception.InvokerException;

 import org.apache.xmlrpc.XmlRpcException;

 import org.apache.xmlrpc.XmlRpcHandler;

 

diff --git a/core/src/main/java/org/apache/commons/proxy/invoker/recorder/InvocationRecorder.java b/core/src/main/java/org/apache/commons/proxy2/invoker/recorder/InvocationRecorder.java
similarity index 95%
rename from core/src/main/java/org/apache/commons/proxy/invoker/recorder/InvocationRecorder.java
rename to core/src/main/java/org/apache/commons/proxy2/invoker/recorder/InvocationRecorder.java
index 88baede..2093fe0 100644
--- a/core/src/main/java/org/apache/commons/proxy/invoker/recorder/InvocationRecorder.java
+++ b/core/src/main/java/org/apache/commons/proxy2/invoker/recorder/InvocationRecorder.java
@@ -15,11 +15,11 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy.invoker.recorder;

+package org.apache.commons.proxy2.invoker.recorder;

 

-import org.apache.commons.proxy.Invoker;

-import org.apache.commons.proxy.ProxyFactory;

-import org.apache.commons.proxy.ProxyUtils;

+import org.apache.commons.proxy2.Invoker;

+import org.apache.commons.proxy2.ProxyFactory;

+import org.apache.commons.proxy2.ProxyUtils;

 

 import java.lang.reflect.Method;

 import java.lang.reflect.ParameterizedType;

diff --git a/core/src/main/java/org/apache/commons/proxy/invoker/recorder/RecordedInvocation.java b/core/src/main/java/org/apache/commons/proxy2/invoker/recorder/RecordedInvocation.java
similarity index 97%
rename from core/src/main/java/org/apache/commons/proxy/invoker/recorder/RecordedInvocation.java
rename to core/src/main/java/org/apache/commons/proxy2/invoker/recorder/RecordedInvocation.java
index 61edf6f..f8d8bbf 100644
--- a/core/src/main/java/org/apache/commons/proxy/invoker/recorder/RecordedInvocation.java
+++ b/core/src/main/java/org/apache/commons/proxy2/invoker/recorder/RecordedInvocation.java
@@ -15,9 +15,9 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy.invoker.recorder;

+package org.apache.commons.proxy2.invoker.recorder;

 

-import org.apache.commons.proxy.ProxyUtils;

+import org.apache.commons.proxy2.ProxyUtils;

 

 import java.lang.reflect.Method;

 

diff --git a/core/src/main/java/org/apache/commons/proxy/provider/BeanProvider.java b/core/src/main/java/org/apache/commons/proxy2/provider/BeanProvider.java
similarity index 94%
rename from core/src/main/java/org/apache/commons/proxy/provider/BeanProvider.java
rename to core/src/main/java/org/apache/commons/proxy2/provider/BeanProvider.java
index 63be4f4..e43d5f8 100644
--- a/core/src/main/java/org/apache/commons/proxy/provider/BeanProvider.java
+++ b/core/src/main/java/org/apache/commons/proxy2/provider/BeanProvider.java
@@ -15,10 +15,10 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy.provider;

+package org.apache.commons.proxy2.provider;

 

-import org.apache.commons.proxy.ObjectProvider;

-import org.apache.commons.proxy.exception.ObjectProviderException;

+import org.apache.commons.proxy2.ObjectProvider;

+import org.apache.commons.proxy2.exception.ObjectProviderException;

 

 import java.io.Serializable;

 

diff --git a/core/src/main/java/org/apache/commons/proxy/provider/CloningProvider.java b/core/src/main/java/org/apache/commons/proxy2/provider/CloningProvider.java
similarity index 94%
rename from core/src/main/java/org/apache/commons/proxy/provider/CloningProvider.java
rename to core/src/main/java/org/apache/commons/proxy2/provider/CloningProvider.java
index 1a78bbc..3bef114 100644
--- a/core/src/main/java/org/apache/commons/proxy/provider/CloningProvider.java
+++ b/core/src/main/java/org/apache/commons/proxy2/provider/CloningProvider.java
@@ -15,11 +15,11 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy.provider;

+package org.apache.commons.proxy2.provider;

 

-import org.apache.commons.proxy.ObjectProvider;

-import org.apache.commons.proxy.ProxyUtils;

-import org.apache.commons.proxy.exception.ObjectProviderException;

+import org.apache.commons.proxy2.ObjectProvider;

+import org.apache.commons.proxy2.ProxyUtils;

+import org.apache.commons.proxy2.exception.ObjectProviderException;

 

 import java.io.Serializable;

 import java.lang.reflect.InvocationTargetException;

diff --git a/core/src/main/java/org/apache/commons/proxy/provider/ConstantProvider.java b/core/src/main/java/org/apache/commons/proxy2/provider/ConstantProvider.java
similarity index 95%
rename from core/src/main/java/org/apache/commons/proxy/provider/ConstantProvider.java
rename to core/src/main/java/org/apache/commons/proxy2/provider/ConstantProvider.java
index b6322f5..cb15579 100644
--- a/core/src/main/java/org/apache/commons/proxy/provider/ConstantProvider.java
+++ b/core/src/main/java/org/apache/commons/proxy2/provider/ConstantProvider.java
@@ -15,9 +15,9 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy.provider;

+package org.apache.commons.proxy2.provider;

 

-import org.apache.commons.proxy.ObjectProvider;

+import org.apache.commons.proxy2.ObjectProvider;

 

 import java.io.Serializable;

 

diff --git a/core/src/main/java/org/apache/commons/proxy/provider/NullProvider.java b/core/src/main/java/org/apache/commons/proxy2/provider/NullProvider.java
similarity index 96%
rename from core/src/main/java/org/apache/commons/proxy/provider/NullProvider.java
rename to core/src/main/java/org/apache/commons/proxy2/provider/NullProvider.java
index 444a322..bd6e6fc 100644
--- a/core/src/main/java/org/apache/commons/proxy/provider/NullProvider.java
+++ b/core/src/main/java/org/apache/commons/proxy2/provider/NullProvider.java
@@ -15,7 +15,7 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy.provider;

+package org.apache.commons.proxy2.provider;

 

 /**

  * Always returns null.

diff --git a/core/src/main/java/org/apache/commons/proxy/provider/ProviderDecorator.java b/core/src/main/java/org/apache/commons/proxy2/provider/ProviderDecorator.java
similarity index 95%
rename from core/src/main/java/org/apache/commons/proxy/provider/ProviderDecorator.java
rename to core/src/main/java/org/apache/commons/proxy2/provider/ProviderDecorator.java
index f577581..ce6ce0c 100644
--- a/core/src/main/java/org/apache/commons/proxy/provider/ProviderDecorator.java
+++ b/core/src/main/java/org/apache/commons/proxy2/provider/ProviderDecorator.java
@@ -15,9 +15,9 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy.provider;

+package org.apache.commons.proxy2.provider;

 

-import org.apache.commons.proxy.ObjectProvider;

+import org.apache.commons.proxy2.ObjectProvider;

 

 /**

  * Returns the result of the inner {@link ObjectProvider provider}.  Subclasses can override the {@link #getObject()}

diff --git a/core/src/main/java/org/apache/commons/proxy/provider/SingletonProvider.java b/core/src/main/java/org/apache/commons/proxy2/provider/SingletonProvider.java
similarity index 95%
rename from core/src/main/java/org/apache/commons/proxy/provider/SingletonProvider.java
rename to core/src/main/java/org/apache/commons/proxy2/provider/SingletonProvider.java
index d9cd37c..42c99dd 100644
--- a/core/src/main/java/org/apache/commons/proxy/provider/SingletonProvider.java
+++ b/core/src/main/java/org/apache/commons/proxy2/provider/SingletonProvider.java
@@ -15,9 +15,9 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy.provider;

+package org.apache.commons.proxy2.provider;

 

-import org.apache.commons.proxy.ObjectProvider;

+import org.apache.commons.proxy2.ObjectProvider;

 

 /**

  * Wraps another object provider, making sure to only call it once, returning the value returned from the wrapped

diff --git a/core/src/main/java/org/apache/commons/proxy/provider/remoting/BurlapProvider.java b/core/src/main/java/org/apache/commons/proxy2/provider/remoting/BurlapProvider.java
similarity index 94%
rename from core/src/main/java/org/apache/commons/proxy/provider/remoting/BurlapProvider.java
rename to core/src/main/java/org/apache/commons/proxy2/provider/remoting/BurlapProvider.java
index 291b607..ff19e48 100644
--- a/core/src/main/java/org/apache/commons/proxy/provider/remoting/BurlapProvider.java
+++ b/core/src/main/java/org/apache/commons/proxy2/provider/remoting/BurlapProvider.java
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package org.apache.commons.proxy.provider.remoting;
+package org.apache.commons.proxy2.provider.remoting;
 
 import com.caucho.burlap.client.BurlapProxyFactory;
-import org.apache.commons.proxy.ObjectProvider;
-import org.apache.commons.proxy.exception.ObjectProviderException;
+import org.apache.commons.proxy2.ObjectProvider;
+import org.apache.commons.proxy2.exception.ObjectProviderException;
 
 import java.io.Serializable;
 import java.net.MalformedURLException;
diff --git a/core/src/main/java/org/apache/commons/proxy/provider/remoting/HessianProvider.java b/core/src/main/java/org/apache/commons/proxy2/provider/remoting/HessianProvider.java
similarity index 94%
rename from core/src/main/java/org/apache/commons/proxy/provider/remoting/HessianProvider.java
rename to core/src/main/java/org/apache/commons/proxy2/provider/remoting/HessianProvider.java
index b91191d..fb7c317 100644
--- a/core/src/main/java/org/apache/commons/proxy/provider/remoting/HessianProvider.java
+++ b/core/src/main/java/org/apache/commons/proxy2/provider/remoting/HessianProvider.java
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package org.apache.commons.proxy.provider.remoting;
+package org.apache.commons.proxy2.provider.remoting;
 
 import com.caucho.hessian.client.HessianProxyFactory;
-import org.apache.commons.proxy.ObjectProvider;
-import org.apache.commons.proxy.exception.ObjectProviderException;
+import org.apache.commons.proxy2.ObjectProvider;
+import org.apache.commons.proxy2.exception.ObjectProviderException;
 
 import java.io.Serializable;
 import java.net.MalformedURLException;
diff --git a/core/src/main/java/org/apache/commons/proxy/provider/remoting/JaxRpcProvider.java b/core/src/main/java/org/apache/commons/proxy2/provider/remoting/JaxRpcProvider.java
similarity index 95%
rename from core/src/main/java/org/apache/commons/proxy/provider/remoting/JaxRpcProvider.java
rename to core/src/main/java/org/apache/commons/proxy2/provider/remoting/JaxRpcProvider.java
index 014c363..ec00b0a 100644
--- a/core/src/main/java/org/apache/commons/proxy/provider/remoting/JaxRpcProvider.java
+++ b/core/src/main/java/org/apache/commons/proxy2/provider/remoting/JaxRpcProvider.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.commons.proxy.provider.remoting;
+package org.apache.commons.proxy2.provider.remoting;
 
-import org.apache.commons.proxy.ObjectProvider;
-import org.apache.commons.proxy.exception.ObjectProviderException;
+import org.apache.commons.proxy2.ObjectProvider;
+import org.apache.commons.proxy2.exception.ObjectProviderException;
 
 import javax.xml.namespace.QName;
 import javax.xml.rpc.Service;
@@ -28,7 +28,7 @@
 import java.net.URL;
 
 /**
- * Returns a proxy for a JAX-RPC-based service.
+ * Returns a proxy2 for a JAX-RPC-based service.
  * <p/>
  * <p>
  * <b>Dependencies</b>:
@@ -85,7 +85,7 @@
         }
         catch( ServiceException e )
         {
-            throw new ObjectProviderException("Unable to create JAX-RPC service proxy.", e);
+            throw new ObjectProviderException("Unable to create JAX-RPC service proxy2.", e);
         }
         catch( MalformedURLException e )
         {
diff --git a/core/src/main/java/org/apache/commons/proxy/provider/remoting/RmiProvider.java b/core/src/main/java/org/apache/commons/proxy2/provider/remoting/RmiProvider.java
similarity index 96%
rename from core/src/main/java/org/apache/commons/proxy/provider/remoting/RmiProvider.java
rename to core/src/main/java/org/apache/commons/proxy2/provider/remoting/RmiProvider.java
index a538711..f5ac346 100644
--- a/core/src/main/java/org/apache/commons/proxy/provider/remoting/RmiProvider.java
+++ b/core/src/main/java/org/apache/commons/proxy2/provider/remoting/RmiProvider.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.commons.proxy.provider.remoting;
+package org.apache.commons.proxy2.provider.remoting;
 
-import org.apache.commons.proxy.ObjectProvider;
-import org.apache.commons.proxy.exception.ObjectProviderException;
+import org.apache.commons.proxy2.ObjectProvider;
+import org.apache.commons.proxy2.exception.ObjectProviderException;
 
 import java.rmi.NotBoundException;
 import java.rmi.RemoteException;
diff --git a/core/src/main/java/org/apache/commons/proxy/provider/remoting/SessionBeanProvider.java b/core/src/main/java/org/apache/commons/proxy2/provider/remoting/SessionBeanProvider.java
similarity index 94%
rename from core/src/main/java/org/apache/commons/proxy/provider/remoting/SessionBeanProvider.java
rename to core/src/main/java/org/apache/commons/proxy2/provider/remoting/SessionBeanProvider.java
index 971d0a6..34cb207 100644
--- a/core/src/main/java/org/apache/commons/proxy/provider/remoting/SessionBeanProvider.java
+++ b/core/src/main/java/org/apache/commons/proxy2/provider/remoting/SessionBeanProvider.java
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package org.apache.commons.proxy.provider.remoting;
+package org.apache.commons.proxy2.provider.remoting;
 
-import org.apache.commons.proxy.ObjectProvider;
-import org.apache.commons.proxy.ProxyUtils;
-import org.apache.commons.proxy.exception.ObjectProviderException;
+import org.apache.commons.proxy2.ObjectProvider;
+import org.apache.commons.proxy2.ProxyUtils;
+import org.apache.commons.proxy2.exception.ObjectProviderException;
 
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
diff --git a/core/src/main/java/org/apache/commons/proxy/provider/remoting/package.html b/core/src/main/java/org/apache/commons/proxy2/provider/remoting/package.html
similarity index 100%
rename from core/src/main/java/org/apache/commons/proxy/provider/remoting/package.html
rename to core/src/main/java/org/apache/commons/proxy2/provider/remoting/package.html
diff --git a/core/src/test/java/org/apache/commons/proxy/AbstractProxyFactoryTestCase.java b/core/src/test/java/org/apache/commons/proxy2/AbstractProxyFactoryTestCase.java
similarity index 96%
rename from core/src/test/java/org/apache/commons/proxy/AbstractProxyFactoryTestCase.java
rename to core/src/test/java/org/apache/commons/proxy2/AbstractProxyFactoryTestCase.java
index 2c45f95..b43533b 100644
--- a/core/src/test/java/org/apache/commons/proxy/AbstractProxyFactoryTestCase.java
+++ b/core/src/test/java/org/apache/commons/proxy2/AbstractProxyFactoryTestCase.java
@@ -15,16 +15,16 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy;

+package org.apache.commons.proxy2;

 

-import org.apache.commons.proxy.provider.BeanProvider;

-import org.apache.commons.proxy.provider.ConstantProvider;

-import org.apache.commons.proxy.provider.SingletonProvider;

-import org.apache.commons.proxy.util.AbstractTestCase;

-import org.apache.commons.proxy.util.DuplicateEcho;

-import org.apache.commons.proxy.util.Echo;

-import org.apache.commons.proxy.util.EchoImpl;

-import org.apache.commons.proxy.util.SuffixInterceptor;

+import org.apache.commons.proxy2.provider.BeanProvider;

+import org.apache.commons.proxy2.provider.ConstantProvider;

+import org.apache.commons.proxy2.provider.SingletonProvider;

+import org.apache.commons.proxy2.util.AbstractTestCase;

+import org.apache.commons.proxy2.util.DuplicateEcho;

+import org.apache.commons.proxy2.util.Echo;

+import org.apache.commons.proxy2.util.EchoImpl;

+import org.apache.commons.proxy2.util.SuffixInterceptor;

 

 import java.io.IOException;

 import java.io.Serializable;

diff --git a/core/src/test/java/org/apache/commons/proxy/AbstractSubclassingProxyFactoryTestCase.java b/core/src/test/java/org/apache/commons/proxy2/AbstractSubclassingProxyFactoryTestCase.java
similarity index 95%
rename from core/src/test/java/org/apache/commons/proxy/AbstractSubclassingProxyFactoryTestCase.java
rename to core/src/test/java/org/apache/commons/proxy2/AbstractSubclassingProxyFactoryTestCase.java
index 4bb9a0e..f2056d5 100644
--- a/core/src/test/java/org/apache/commons/proxy/AbstractSubclassingProxyFactoryTestCase.java
+++ b/core/src/test/java/org/apache/commons/proxy2/AbstractSubclassingProxyFactoryTestCase.java
@@ -15,14 +15,14 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy;

+package org.apache.commons.proxy2;

 

-import org.apache.commons.proxy.exception.ProxyFactoryException;

-import org.apache.commons.proxy.invoker.NullInvoker;

-import org.apache.commons.proxy.provider.ConstantProvider;

-import org.apache.commons.proxy.util.AbstractEcho;

-import org.apache.commons.proxy.util.Echo;

-import org.apache.commons.proxy.util.EchoImpl;

+import org.apache.commons.proxy2.exception.ProxyFactoryException;

+import org.apache.commons.proxy2.invoker.NullInvoker;

+import org.apache.commons.proxy2.provider.ConstantProvider;

+import org.apache.commons.proxy2.util.AbstractEcho;

+import org.apache.commons.proxy2.util.Echo;

+import org.apache.commons.proxy2.util.EchoImpl;

 

 import java.util.Date;

 

diff --git a/core/src/test/java/org/apache/commons/proxy/TestProxyUtils.java b/core/src/test/java/org/apache/commons/proxy2/TestProxyUtils.java
similarity index 95%
rename from core/src/test/java/org/apache/commons/proxy/TestProxyUtils.java
rename to core/src/test/java/org/apache/commons/proxy2/TestProxyUtils.java
index 2f4412c..9f35cec 100644
--- a/core/src/test/java/org/apache/commons/proxy/TestProxyUtils.java
+++ b/core/src/test/java/org/apache/commons/proxy2/TestProxyUtils.java
@@ -15,12 +15,12 @@
  * limitations under the License.
  */
 
-package org.apache.commons.proxy;
+package org.apache.commons.proxy2;
 
 import junit.framework.TestCase;
-import org.apache.commons.proxy.util.DuplicateEcho;
-import org.apache.commons.proxy.util.Echo;
-import org.apache.commons.proxy.util.EchoImpl;
+import org.apache.commons.proxy2.util.DuplicateEcho;
+import org.apache.commons.proxy2.util.Echo;
+import org.apache.commons.proxy2.util.EchoImpl;
 
 import java.io.Serializable;
 import java.util.Arrays;
diff --git a/core/src/test/java/org/apache/commons/proxy/exception/AbstractExceptionClassTestCase.java b/core/src/test/java/org/apache/commons/proxy2/exception/AbstractExceptionClassTestCase.java
similarity index 98%
rename from core/src/test/java/org/apache/commons/proxy/exception/AbstractExceptionClassTestCase.java
rename to core/src/test/java/org/apache/commons/proxy2/exception/AbstractExceptionClassTestCase.java
index 343ddd6..fead718 100644
--- a/core/src/test/java/org/apache/commons/proxy/exception/AbstractExceptionClassTestCase.java
+++ b/core/src/test/java/org/apache/commons/proxy2/exception/AbstractExceptionClassTestCase.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.commons.proxy.exception;
+package org.apache.commons.proxy2.exception;
 
 import junit.framework.TestCase;
 
diff --git a/core/src/test/java/org/apache/commons/proxy/exception/TestDelegateProviderException.java b/core/src/test/java/org/apache/commons/proxy2/exception/TestDelegateProviderException.java
similarity index 96%
rename from core/src/test/java/org/apache/commons/proxy/exception/TestDelegateProviderException.java
rename to core/src/test/java/org/apache/commons/proxy2/exception/TestDelegateProviderException.java
index 45af58c..2d6c0da 100644
--- a/core/src/test/java/org/apache/commons/proxy/exception/TestDelegateProviderException.java
+++ b/core/src/test/java/org/apache/commons/proxy2/exception/TestDelegateProviderException.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.commons.proxy.exception;
+package org.apache.commons.proxy2.exception;
 
 public class TestDelegateProviderException extends AbstractExceptionClassTestCase
 {
diff --git a/core/src/test/java/org/apache/commons/proxy/exception/TestInvocationHandlerException.java b/core/src/test/java/org/apache/commons/proxy2/exception/TestInvocationHandlerException.java
similarity index 96%
rename from core/src/test/java/org/apache/commons/proxy/exception/TestInvocationHandlerException.java
rename to core/src/test/java/org/apache/commons/proxy2/exception/TestInvocationHandlerException.java
index 13ed169..dcb6714 100644
--- a/core/src/test/java/org/apache/commons/proxy/exception/TestInvocationHandlerException.java
+++ b/core/src/test/java/org/apache/commons/proxy2/exception/TestInvocationHandlerException.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.commons.proxy.exception;
+package org.apache.commons.proxy2.exception;
 
 public class TestInvocationHandlerException extends AbstractExceptionClassTestCase
 {
diff --git a/core/src/test/java/org/apache/commons/proxy/exception/TestProxyFactoryException.java b/core/src/test/java/org/apache/commons/proxy2/exception/TestProxyFactoryException.java
similarity index 96%
rename from core/src/test/java/org/apache/commons/proxy/exception/TestProxyFactoryException.java
rename to core/src/test/java/org/apache/commons/proxy2/exception/TestProxyFactoryException.java
index 4498a29..7b59c4b 100644
--- a/core/src/test/java/org/apache/commons/proxy/exception/TestProxyFactoryException.java
+++ b/core/src/test/java/org/apache/commons/proxy2/exception/TestProxyFactoryException.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.commons.proxy.exception;
+package org.apache.commons.proxy2.exception;
 
 /**
  * @author James Carman
diff --git a/core/src/test/java/org/apache/commons/proxy/impl/TestMethodSignature.java b/core/src/test/java/org/apache/commons/proxy2/impl/TestMethodSignature.java
similarity index 92%
rename from core/src/test/java/org/apache/commons/proxy/impl/TestMethodSignature.java
rename to core/src/test/java/org/apache/commons/proxy2/impl/TestMethodSignature.java
index 7a395e8..7b323e7 100644
--- a/core/src/test/java/org/apache/commons/proxy/impl/TestMethodSignature.java
+++ b/core/src/test/java/org/apache/commons/proxy2/impl/TestMethodSignature.java
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package org.apache.commons.proxy.impl;
+package org.apache.commons.proxy2.impl;
 
 import junit.framework.TestCase;
-import org.apache.commons.proxy.util.DuplicateEcho;
-import org.apache.commons.proxy.util.Echo;
+import org.apache.commons.proxy2.util.DuplicateEcho;
+import org.apache.commons.proxy2.util.Echo;
 
 public class TestMethodSignature extends TestCase
 {
diff --git a/core/src/test/java/org/apache/commons/proxy/provider/CountingProvider.java b/core/src/test/java/org/apache/commons/proxy2/provider/CountingProvider.java
similarity index 95%
rename from core/src/test/java/org/apache/commons/proxy/provider/CountingProvider.java
rename to core/src/test/java/org/apache/commons/proxy2/provider/CountingProvider.java
index ae4d3e6..2fe0e65 100644
--- a/core/src/test/java/org/apache/commons/proxy/provider/CountingProvider.java
+++ b/core/src/test/java/org/apache/commons/proxy2/provider/CountingProvider.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.commons.proxy.provider;
+package org.apache.commons.proxy2.provider;
 
-import org.apache.commons.proxy.ObjectProvider;
+import org.apache.commons.proxy2.ObjectProvider;
 
 /**
  * @author James Carman
diff --git a/core/src/test/java/org/apache/commons/proxy/provider/TestBeanProvider.java b/core/src/test/java/org/apache/commons/proxy2/provider/TestBeanProvider.java
similarity index 93%
rename from core/src/test/java/org/apache/commons/proxy/provider/TestBeanProvider.java
rename to core/src/test/java/org/apache/commons/proxy2/provider/TestBeanProvider.java
index 8973bfa..7a4f981 100644
--- a/core/src/test/java/org/apache/commons/proxy/provider/TestBeanProvider.java
+++ b/core/src/test/java/org/apache/commons/proxy2/provider/TestBeanProvider.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.commons.proxy.provider;
+package org.apache.commons.proxy2.provider;
 
-import org.apache.commons.proxy.exception.ObjectProviderException;
-import org.apache.commons.proxy.util.AbstractTestCase;
+import org.apache.commons.proxy2.exception.ObjectProviderException;
+import org.apache.commons.proxy2.util.AbstractTestCase;
 
 public class TestBeanProvider extends AbstractTestCase
 {
diff --git a/core/src/test/java/org/apache/commons/proxy/provider/TestCloningProvider.java b/core/src/test/java/org/apache/commons/proxy2/provider/TestCloningProvider.java
similarity index 94%
rename from core/src/test/java/org/apache/commons/proxy/provider/TestCloningProvider.java
rename to core/src/test/java/org/apache/commons/proxy2/provider/TestCloningProvider.java
index adac321..ea103c3 100644
--- a/core/src/test/java/org/apache/commons/proxy/provider/TestCloningProvider.java
+++ b/core/src/test/java/org/apache/commons/proxy2/provider/TestCloningProvider.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.commons.proxy.provider;
+package org.apache.commons.proxy2.provider;
 
-import org.apache.commons.proxy.exception.ObjectProviderException;
-import org.apache.commons.proxy.util.AbstractTestCase;
+import org.apache.commons.proxy2.exception.ObjectProviderException;
+import org.apache.commons.proxy2.util.AbstractTestCase;
 
 import java.util.Date;
 
diff --git a/core/src/test/java/org/apache/commons/proxy/provider/TestConstantProvider.java b/core/src/test/java/org/apache/commons/proxy2/provider/TestConstantProvider.java
similarity index 93%
rename from core/src/test/java/org/apache/commons/proxy/provider/TestConstantProvider.java
rename to core/src/test/java/org/apache/commons/proxy2/provider/TestConstantProvider.java
index 8c4eee3..ce61318 100644
--- a/core/src/test/java/org/apache/commons/proxy/provider/TestConstantProvider.java
+++ b/core/src/test/java/org/apache/commons/proxy2/provider/TestConstantProvider.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.commons.proxy.provider;
+package org.apache.commons.proxy2.provider;
 
-import org.apache.commons.proxy.util.AbstractTestCase;
+import org.apache.commons.proxy2.util.AbstractTestCase;
 
 /**
  * @since 1.0
diff --git a/core/src/test/java/org/apache/commons/proxy/provider/TestNullProvider.java b/core/src/test/java/org/apache/commons/proxy2/provider/TestNullProvider.java
similarity index 93%
rename from core/src/test/java/org/apache/commons/proxy/provider/TestNullProvider.java
rename to core/src/test/java/org/apache/commons/proxy2/provider/TestNullProvider.java
index 12f59f5..1ca772e 100644
--- a/core/src/test/java/org/apache/commons/proxy/provider/TestNullProvider.java
+++ b/core/src/test/java/org/apache/commons/proxy2/provider/TestNullProvider.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.commons.proxy.provider;
+package org.apache.commons.proxy2.provider;
 
-import org.apache.commons.proxy.util.AbstractTestCase;
+import org.apache.commons.proxy2.util.AbstractTestCase;
 
 /**
  * @author James Carman
diff --git a/core/src/test/java/org/apache/commons/proxy/provider/remoting/TestBurlapProvider.java b/core/src/test/java/org/apache/commons/proxy2/provider/remoting/TestBurlapProvider.java
similarity index 89%
rename from core/src/test/java/org/apache/commons/proxy/provider/remoting/TestBurlapProvider.java
rename to core/src/test/java/org/apache/commons/proxy2/provider/remoting/TestBurlapProvider.java
index f3dcc3a..7aa9488 100644
--- a/core/src/test/java/org/apache/commons/proxy/provider/remoting/TestBurlapProvider.java
+++ b/core/src/test/java/org/apache/commons/proxy2/provider/remoting/TestBurlapProvider.java
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package org.apache.commons.proxy.provider.remoting;
+package org.apache.commons.proxy2.provider.remoting;
 
-import org.apache.commons.proxy.exception.ObjectProviderException;
-import org.apache.commons.proxy.util.AbstractTestCase;
-import org.apache.commons.proxy.util.Echo;
+import org.apache.commons.proxy2.exception.ObjectProviderException;
+import org.apache.commons.proxy2.util.AbstractTestCase;
+import org.apache.commons.proxy2.util.Echo;
 
 public class TestBurlapProvider extends AbstractTestCase
 {
diff --git a/core/src/test/java/org/apache/commons/proxy/provider/remoting/TestHessianProvider.java b/core/src/test/java/org/apache/commons/proxy2/provider/remoting/TestHessianProvider.java
similarity index 89%
rename from core/src/test/java/org/apache/commons/proxy/provider/remoting/TestHessianProvider.java
rename to core/src/test/java/org/apache/commons/proxy2/provider/remoting/TestHessianProvider.java
index e002b90..d6af42d 100644
--- a/core/src/test/java/org/apache/commons/proxy/provider/remoting/TestHessianProvider.java
+++ b/core/src/test/java/org/apache/commons/proxy2/provider/remoting/TestHessianProvider.java
@@ -1,65 +1,65 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.commons.proxy.provider.remoting;
-
-import org.apache.commons.proxy.exception.ObjectProviderException;
-import org.apache.commons.proxy.util.AbstractTestCase;
-import org.apache.commons.proxy.util.Echo;
-
-public class TestHessianProvider extends AbstractTestCase
-{
-//**********************************************************************************************************************
-// Other Methods
-//**********************************************************************************************************************
-
-    public void testSerialization()
-    {
-        final HessianProvider p = new HessianProvider();
-        p.setServiceInterface(Echo.class);
-        p.setUrl("a malformed URL");
-        assertSerializable(p);
-    }
-
-    public void testWithMalformedUrl()
-    {
-        try
-        {
-            final HessianProvider p = new HessianProvider(Echo.class, "a malformed URL");
-            p.getObject();
-            fail();
-        }
-        catch( ObjectProviderException e )
-        {
-        }
-    }
-
-    public void testWithMalformedUrlBean()
-    {
-        try
-        {
-            final HessianProvider p = new HessianProvider();
-            p.setServiceInterface(Echo.class);
-            p.setUrl("a malformed URL");
-            p.getObject();
-            fail();
-        }
-        catch( ObjectProviderException e )
-        {
-        }
-    }
+/*

+ * Licensed to the Apache Software Foundation (ASF) under one or more

+ * contributor license agreements.  See the NOTICE file distributed with

+ * this work for additional information regarding copyright ownership.

+ * The ASF licenses this file to You 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.commons.proxy2.provider.remoting;

+

+import org.apache.commons.proxy2.exception.ObjectProviderException;

+import org.apache.commons.proxy2.util.AbstractTestCase;

+import org.apache.commons.proxy2.util.Echo;

+

+public class TestHessianProvider extends AbstractTestCase

+{

+//**********************************************************************************************************************

+// Other Methods

+//**********************************************************************************************************************

+

+    public void testSerialization()

+    {

+        final HessianProvider p = new HessianProvider();

+        p.setServiceInterface(Echo.class);

+        p.setUrl("a malformed URL");

+        assertSerializable(p);

+    }

+

+    public void testWithMalformedUrl()

+    {

+        try

+        {

+            final HessianProvider p = new HessianProvider(Echo.class, "a malformed URL");

+            p.getObject();

+            fail();

+        }

+        catch( ObjectProviderException e )

+        {

+        }

+    }

+

+    public void testWithMalformedUrlBean()

+    {

+        try

+        {

+            final HessianProvider p = new HessianProvider();

+            p.setServiceInterface(Echo.class);

+            p.setUrl("a malformed URL");

+            p.getObject();

+            fail();

+        }

+        catch( ObjectProviderException e )

+        {

+        }

+    }

 }
\ No newline at end of file
diff --git a/core/src/test/java/org/apache/commons/proxy/util/AbstractEcho.java b/core/src/test/java/org/apache/commons/proxy2/util/AbstractEcho.java
similarity index 96%
rename from core/src/test/java/org/apache/commons/proxy/util/AbstractEcho.java
rename to core/src/test/java/org/apache/commons/proxy2/util/AbstractEcho.java
index 1486669..29175b9 100644
--- a/core/src/test/java/org/apache/commons/proxy/util/AbstractEcho.java
+++ b/core/src/test/java/org/apache/commons/proxy2/util/AbstractEcho.java
@@ -15,7 +15,7 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy.util;

+package org.apache.commons.proxy2.util;

 

 import java.io.Serializable;

 

diff --git a/core/src/test/java/org/apache/commons/proxy/util/AbstractTestCase.java b/core/src/test/java/org/apache/commons/proxy2/util/AbstractTestCase.java
similarity index 93%
rename from core/src/test/java/org/apache/commons/proxy/util/AbstractTestCase.java
rename to core/src/test/java/org/apache/commons/proxy2/util/AbstractTestCase.java
index dbb1e40..c2cdbec 100644
--- a/core/src/test/java/org/apache/commons/proxy/util/AbstractTestCase.java
+++ b/core/src/test/java/org/apache/commons/proxy2/util/AbstractTestCase.java
@@ -1,4 +1,4 @@
-package org.apache.commons.proxy.util;

+package org.apache.commons.proxy2.util;

 

 import junit.framework.TestCase;

 import org.apache.commons.lang.SerializationUtils;

diff --git a/core/src/test/java/org/apache/commons/proxy/util/DuplicateEcho.java b/core/src/test/java/org/apache/commons/proxy2/util/DuplicateEcho.java
similarity index 96%
rename from core/src/test/java/org/apache/commons/proxy/util/DuplicateEcho.java
rename to core/src/test/java/org/apache/commons/proxy2/util/DuplicateEcho.java
index b96cbb6..cc64d97 100644
--- a/core/src/test/java/org/apache/commons/proxy/util/DuplicateEcho.java
+++ b/core/src/test/java/org/apache/commons/proxy2/util/DuplicateEcho.java
@@ -15,7 +15,7 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy.util;

+package org.apache.commons.proxy2.util;

 

 /**

  * @author James Carman

diff --git a/core/src/test/java/org/apache/commons/proxy/util/Echo.java b/core/src/test/java/org/apache/commons/proxy2/util/Echo.java
similarity index 97%
rename from core/src/test/java/org/apache/commons/proxy/util/Echo.java
rename to core/src/test/java/org/apache/commons/proxy2/util/Echo.java
index 60ea278..08749d7 100644
--- a/core/src/test/java/org/apache/commons/proxy/util/Echo.java
+++ b/core/src/test/java/org/apache/commons/proxy2/util/Echo.java
@@ -15,7 +15,7 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy.util;

+package org.apache.commons.proxy2.util;

 

 import java.io.IOException;

 

diff --git a/core/src/test/java/org/apache/commons/proxy/util/EchoImpl.java b/core/src/test/java/org/apache/commons/proxy2/util/EchoImpl.java
similarity index 98%
rename from core/src/test/java/org/apache/commons/proxy/util/EchoImpl.java
rename to core/src/test/java/org/apache/commons/proxy2/util/EchoImpl.java
index af53333..21b0b7b 100644
--- a/core/src/test/java/org/apache/commons/proxy/util/EchoImpl.java
+++ b/core/src/test/java/org/apache/commons/proxy2/util/EchoImpl.java
@@ -15,7 +15,7 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy.util;

+package org.apache.commons.proxy2.util;

 

 import java.io.IOException;

 import java.io.Serializable;

diff --git a/core/src/test/java/org/apache/commons/proxy/util/QuoteService.java b/core/src/test/java/org/apache/commons/proxy2/util/QuoteService.java
similarity index 96%
rename from core/src/test/java/org/apache/commons/proxy/util/QuoteService.java
rename to core/src/test/java/org/apache/commons/proxy2/util/QuoteService.java
index 40293cb..bd8d841 100644
--- a/core/src/test/java/org/apache/commons/proxy/util/QuoteService.java
+++ b/core/src/test/java/org/apache/commons/proxy2/util/QuoteService.java
@@ -15,7 +15,7 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy.util;

+package org.apache.commons.proxy2.util;

 

 import java.rmi.Remote;

 import java.rmi.RemoteException;

diff --git a/core/src/test/java/org/apache/commons/proxy/util/SuffixInterceptor.java b/core/src/test/java/org/apache/commons/proxy2/util/SuffixInterceptor.java
similarity index 93%
rename from core/src/test/java/org/apache/commons/proxy/util/SuffixInterceptor.java
rename to core/src/test/java/org/apache/commons/proxy2/util/SuffixInterceptor.java
index 84937c7..78886bc 100644
--- a/core/src/test/java/org/apache/commons/proxy/util/SuffixInterceptor.java
+++ b/core/src/test/java/org/apache/commons/proxy2/util/SuffixInterceptor.java
@@ -15,10 +15,10 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy.util;

+package org.apache.commons.proxy2.util;

 

-import org.apache.commons.proxy.Interceptor;

-import org.apache.commons.proxy.Invocation;

+import org.apache.commons.proxy2.Interceptor;

+import org.apache.commons.proxy2.Invocation;

 

 /**

  * @author James Carman

diff --git a/javassist/src/main/java/org/apache/commons/proxy/javassist/JavassistInvocation.java b/javassist/src/main/java/org/apache/commons/proxy2/javassist/JavassistInvocation.java
similarity index 98%
rename from javassist/src/main/java/org/apache/commons/proxy/javassist/JavassistInvocation.java
rename to javassist/src/main/java/org/apache/commons/proxy2/javassist/JavassistInvocation.java
index 1f965d5..6b6b2b9 100644
--- a/javassist/src/main/java/org/apache/commons/proxy/javassist/JavassistInvocation.java
+++ b/javassist/src/main/java/org/apache/commons/proxy2/javassist/JavassistInvocation.java
@@ -15,14 +15,14 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy.javassist;

+package org.apache.commons.proxy2.javassist;

 

 import javassist.CannotCompileException;

 import javassist.CtClass;

 import javassist.CtConstructor;

 import javassist.CtMethod;

-import org.apache.commons.proxy.Invocation;

-import org.apache.commons.proxy.ProxyUtils;

+import org.apache.commons.proxy2.Invocation;

+import org.apache.commons.proxy2.ProxyUtils;

 

 import java.lang.ref.WeakReference;

 import java.lang.reflect.Method;

diff --git a/javassist/src/main/java/org/apache/commons/proxy/javassist/JavassistProxyFactory.java b/javassist/src/main/java/org/apache/commons/proxy2/javassist/JavassistProxyFactory.java
similarity index 95%
rename from javassist/src/main/java/org/apache/commons/proxy/javassist/JavassistProxyFactory.java
rename to javassist/src/main/java/org/apache/commons/proxy2/javassist/JavassistProxyFactory.java
index 6ba681f..6c820fb 100644
--- a/javassist/src/main/java/org/apache/commons/proxy/javassist/JavassistProxyFactory.java
+++ b/javassist/src/main/java/org/apache/commons/proxy2/javassist/JavassistProxyFactory.java
@@ -15,20 +15,20 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy.javassist;

+package org.apache.commons.proxy2.javassist;

 

 import javassist.CannotCompileException;

 import javassist.CtClass;

 import javassist.CtConstructor;

 import javassist.CtMethod;

-import org.apache.commons.proxy.Interceptor;

-import org.apache.commons.proxy.Invoker;

-import org.apache.commons.proxy.ObjectProvider;

-import org.apache.commons.proxy.ProxyUtils;

-import org.apache.commons.proxy.exception.ProxyFactoryException;

-import org.apache.commons.proxy.impl.AbstractProxyClassGenerator;

-import org.apache.commons.proxy.impl.AbstractSubclassingProxyFactory;

-import org.apache.commons.proxy.impl.ProxyClassCache;

+import org.apache.commons.proxy2.Interceptor;

+import org.apache.commons.proxy2.Invoker;

+import org.apache.commons.proxy2.ObjectProvider;

+import org.apache.commons.proxy2.ProxyUtils;

+import org.apache.commons.proxy2.exception.ProxyFactoryException;

+import org.apache.commons.proxy2.impl.AbstractProxyClassGenerator;

+import org.apache.commons.proxy2.impl.AbstractSubclassingProxyFactory;

+import org.apache.commons.proxy2.impl.ProxyClassCache;

 

 import java.lang.reflect.Method;

 

@@ -76,7 +76,7 @@
         }

         catch (Exception e)

         {

-            throw new ProxyFactoryException("Unable to instantiate proxy from generated proxy class.", e);

+            throw new ProxyFactoryException("Unable to instantiate proxy2 from generated proxy2 class.", e);

         }

     }

 

@@ -91,7 +91,7 @@
         }

         catch (Exception e)

         {

-            throw new ProxyFactoryException("Unable to instantiate proxy class instance.", e);

+            throw new ProxyFactoryException("Unable to instantiate proxy2 class instance.", e);

         }

     }

 

@@ -106,7 +106,7 @@
         }

         catch (Exception e)

         {

-            throw new ProxyFactoryException("Unable to instantiate proxy from generated proxy class.", e);

+            throw new ProxyFactoryException("Unable to instantiate proxy2 from generated proxy2 class.", e);

         }

     }

 

diff --git a/javassist/src/main/java/org/apache/commons/proxy/javassist/JavassistUtils.java b/javassist/src/main/java/org/apache/commons/proxy2/javassist/JavassistUtils.java
similarity index 96%
rename from javassist/src/main/java/org/apache/commons/proxy/javassist/JavassistUtils.java
rename to javassist/src/main/java/org/apache/commons/proxy2/javassist/JavassistUtils.java
index 5a41b12..29cffa4 100644
--- a/javassist/src/main/java/org/apache/commons/proxy/javassist/JavassistUtils.java
+++ b/javassist/src/main/java/org/apache/commons/proxy2/javassist/JavassistUtils.java
@@ -15,7 +15,7 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy.javassist;

+package org.apache.commons.proxy2.javassist;

 

 import javassist.CannotCompileException;

 import javassist.ClassPool;

@@ -23,8 +23,8 @@
 import javassist.CtField;

 import javassist.LoaderClassPath;

 import javassist.NotFoundException;

-import org.apache.commons.proxy.ProxyUtils;

-import org.apache.commons.proxy.exception.ObjectProviderException;

+import org.apache.commons.proxy2.ProxyUtils;

+import org.apache.commons.proxy2.exception.ObjectProviderException;

 

 import java.util.HashSet;

 import java.util.Set;

diff --git a/javassist/src/main/resources/META-INF/services/org.apache.commons.proxy.ProxyFactory b/javassist/src/main/resources/META-INF/services/org.apache.commons.proxy.ProxyFactory
index cca0a17..283b11a 100644
--- a/javassist/src/main/resources/META-INF/services/org.apache.commons.proxy.ProxyFactory
+++ b/javassist/src/main/resources/META-INF/services/org.apache.commons.proxy.ProxyFactory
@@ -1 +1,17 @@
-org.apache.commons.proxy.javassist.JavassistProxyFactory
\ No newline at end of file
+#

+# Licensed to the Apache Software Foundation (ASF) under one or more

+# contributor license agreements.  See the NOTICE file distributed with

+# this work for additional information regarding copyright ownership.

+# The ASF licenses this file to You 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.

+#

+org.apache.commons.proxy2.javassist.JavassistProxyFactory
\ No newline at end of file
diff --git a/javassist/src/test/java/org/apache/commons/proxy/javassist/TestJavassistProxyFactory.java b/javassist/src/test/java/org/apache/commons/proxy2/javassist/TestJavassistProxyFactory.java
similarity index 68%
rename from javassist/src/test/java/org/apache/commons/proxy/javassist/TestJavassistProxyFactory.java
rename to javassist/src/test/java/org/apache/commons/proxy2/javassist/TestJavassistProxyFactory.java
index 36a7139..9bdd8af 100644
--- a/javassist/src/test/java/org/apache/commons/proxy/javassist/TestJavassistProxyFactory.java
+++ b/javassist/src/test/java/org/apache/commons/proxy2/javassist/TestJavassistProxyFactory.java
@@ -1,7 +1,6 @@
-package org.apache.commons.proxy.javassist;

+package org.apache.commons.proxy2.javassist;

 

-import org.apache.commons.proxy.AbstractSubclassingProxyFactoryTestCase;

-import org.apache.commons.proxy.ProxyFactory;

+import org.apache.commons.proxy2.AbstractSubclassingProxyFactoryTestCase;

 

 public class TestJavassistProxyFactory extends AbstractSubclassingProxyFactoryTestCase

 {

diff --git a/jdk/src/main/java/org/apache/commons/proxy/jdk/JdkProxyFactory.java b/jdk/src/main/java/org/apache/commons/proxy2/jdk/JdkProxyFactory.java
similarity index 84%
rename from jdk/src/main/java/org/apache/commons/proxy/jdk/JdkProxyFactory.java
rename to jdk/src/main/java/org/apache/commons/proxy2/jdk/JdkProxyFactory.java
index a7e8bee..f9c43a2 100644
--- a/jdk/src/main/java/org/apache/commons/proxy/jdk/JdkProxyFactory.java
+++ b/jdk/src/main/java/org/apache/commons/proxy2/jdk/JdkProxyFactory.java
@@ -15,14 +15,14 @@
  * limitations under the License.

  */

 

-package org.apache.commons.proxy.jdk;

+package org.apache.commons.proxy2.jdk;

 

-import org.apache.commons.proxy.Interceptor;

-import org.apache.commons.proxy.Invocation;

-import org.apache.commons.proxy.Invoker;

-import org.apache.commons.proxy.ObjectProvider;

-import org.apache.commons.proxy.ProxyUtils;

-import org.apache.commons.proxy.impl.AbstractProxyFactory;

+import org.apache.commons.proxy2.Interceptor;

+import org.apache.commons.proxy2.Invocation;

+import org.apache.commons.proxy2.Invoker;

+import org.apache.commons.proxy2.ObjectProvider;

+import org.apache.commons.proxy2.ProxyUtils;

+import org.apache.commons.proxy2.impl.AbstractProxyFactory;

 

 import java.io.Serializable;

 import java.lang.reflect.InvocationHandler;

@@ -38,12 +38,12 @@
 

 

     /**

-     * Creates a proxy which delegates to the object provided by <code>delegateProvider</code>.

+     * Creates a proxy2 which delegates to the object provided by <code>delegateProvider</code>.

      *

-     * @param classLoader      the class loader to use when generating the proxy

+     * @param classLoader      the class loader to use when generating the proxy2

      * @param delegateProvider the delegate provider

-     * @param proxyClasses     the interfaces that the proxy should implement

-     * @return a proxy which delegates to the object provided by the target <code>delegateProvider>

+     * @param proxyClasses     the interfaces that the proxy2 should implement

+     * @return a proxy2 which delegates to the object provided by the target <code>delegateProvider>

      */

     public Object createDelegatorProxy( ClassLoader classLoader, ObjectProvider delegateProvider,

                                         Class... proxyClasses )

@@ -53,14 +53,14 @@
     }

 

     /**

-     * Creates a proxy which passes through a {@link Interceptor interceptor} before eventually reaching the

+     * Creates a proxy2 which passes through a {@link Interceptor interceptor} before eventually reaching the

      * <code>target</code> object.

      *

-     * @param classLoader  the class loader to use when generating the proxy

+     * @param classLoader  the class loader to use when generating the proxy2

      * @param target       the target object

      * @param interceptor  the method interceptor

-     * @param proxyClasses the interfaces that the proxy should implement.

-     * @return a proxy which passes through a {@link Interceptor interceptor} before eventually reaching the

+     * @param proxyClasses the interfaces that the proxy2 should implement.

+     * @return a proxy2 which passes through a {@link Interceptor interceptor} before eventually reaching the

      *         <code>target</code> object.

      */

     public Object createInterceptorProxy( ClassLoader classLoader, Object target, Interceptor interceptor,

@@ -71,12 +71,12 @@
     }

 

     /**

-     * Creates a proxy which uses the provided {@link Invoker} to handle all method invocations.

+     * Creates a proxy2 which uses the provided {@link Invoker} to handle all method invocations.

      *

-     * @param classLoader  the class loader to use when generating the proxy

+     * @param classLoader  the class loader to use when generating the proxy2

      * @param invoker      the invoker

-     * @param proxyClasses the interfaces that the proxy should implement

-     * @return a proxy which uses the provided {@link Invoker} to handle all method invocations

+     * @param proxyClasses the interfaces that the proxy2 should implement

+     * @return a proxy2 which uses the provided {@link Invoker} to handle all method invocations

      */

     public Object createInvokerProxy( ClassLoader classLoader, Invoker invoker,

                                       Class... proxyClasses )

diff --git a/jdk/src/main/resources/META-INF/services/org.apache.commons.proxy.ProxyFactory b/jdk/src/main/resources/META-INF/services/org.apache.commons.proxy.ProxyFactory
index 6e5bf4e..a27a58d 100644
--- a/jdk/src/main/resources/META-INF/services/org.apache.commons.proxy.ProxyFactory
+++ b/jdk/src/main/resources/META-INF/services/org.apache.commons.proxy.ProxyFactory
@@ -1 +1,17 @@
-org.apache.commons.proxy.jdk.JdkProxyFactory
\ No newline at end of file
+#

+# Licensed to the Apache Software Foundation (ASF) under one or more

+# contributor license agreements.  See the NOTICE file distributed with

+# this work for additional information regarding copyright ownership.

+# The ASF licenses this file to You 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.

+#

+org.apache.commons.proxy2.jdk.JdkProxyFactory
\ No newline at end of file
diff --git a/jdk/src/test/java/org/apache/commons/proxy/jdk/TestJdkProxyFactory.java b/jdk/src/test/java/org/apache/commons/proxy/jdk/TestJdkProxyFactory.java
deleted file mode 100644
index 7651f87..0000000
--- a/jdk/src/test/java/org/apache/commons/proxy/jdk/TestJdkProxyFactory.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package org.apache.commons.proxy.jdk;

-

-import org.apache.commons.proxy.AbstractProxyFactoryTestCase;

-import org.apache.commons.proxy.AbstractSubclassingProxyFactoryTestCase;

-

-public class TestJdkProxyFactory extends AbstractProxyFactoryTestCase

-{

-}

diff --git a/jdk/src/test/java/org/apache/commons/proxy2/jdk/TestJdkProxyFactory.java b/jdk/src/test/java/org/apache/commons/proxy2/jdk/TestJdkProxyFactory.java
new file mode 100644
index 0000000..cd828a3
--- /dev/null
+++ b/jdk/src/test/java/org/apache/commons/proxy2/jdk/TestJdkProxyFactory.java
@@ -0,0 +1,7 @@
+package org.apache.commons.proxy2.jdk;

+

+import org.apache.commons.proxy2.AbstractProxyFactoryTestCase;

+

+public class TestJdkProxyFactory extends AbstractProxyFactoryTestCase

+{

+}

diff --git a/pom.xml b/pom.xml
index 0a9ca31..8ac7ccf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,4 +1,5 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
+
 <!--
   ~ Licensed to the Apache Software Foundation (ASF) under one or more
   ~ contributor license agreements.  See the NOTICE file distributed with
diff --git a/src/assembly/bin.xml b/src/assembly/bin.xml
index 28c571e..ba78bbd 100644
--- a/src/assembly/bin.xml
+++ b/src/assembly/bin.xml
@@ -14,6 +14,7 @@
   ~ See the License for the specific language governing permissions and
   ~ limitations under the License.
   -->
+
 <assembly>
     <id>bin</id>
     <formats>
diff --git a/src/assembly/src.xml b/src/assembly/src.xml
index 1cc53a8..5a7cc0d 100644
--- a/src/assembly/src.xml
+++ b/src/assembly/src.xml
@@ -14,6 +14,7 @@
   ~ See the License for the specific language governing permissions and
   ~ limitations under the License.
   -->
+
 <assembly>
     <id>src</id>
     <formats>
diff --git a/src/site/site.xml b/src/site/site.xml
index a6f9cc8..143f2f3 100644
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@ -16,6 +16,7 @@
   ~ See the License for the specific language governing permissions and
   ~ limitations under the License.
   -->
+
 <project name="Commons Proxy">
   <bannerRight>
     <name>Commons Proxy</name>
diff --git a/src/site/xdoc/download_proxy.xml b/src/site/xdoc/download_proxy.xml
index 1261b31..41af3db 100644
--- a/src/site/xdoc/download_proxy.xml
+++ b/src/site/xdoc/download_proxy.xml
@@ -15,6 +15,7 @@
   ~ See the License for the specific language governing permissions and
   ~ limitations under the License.
   -->
+
 <!--
  +======================================================================+
  |****                                                              ****|
diff --git a/src/site/xdoc/index.xml b/src/site/xdoc/index.xml
index 4ebaba4..2b8b47d 100644
--- a/src/site/xdoc/index.xml
+++ b/src/site/xdoc/index.xml
@@ -16,6 +16,7 @@
   ~ See the License for the specific language governing permissions and
   ~ limitations under the License.
   -->
+
 <document>
     <properties>
         <title>Overview</title>
diff --git a/src/site/xdoc/issue-tracking.xml b/src/site/xdoc/issue-tracking.xml
index 4737c57..985210a 100644
--- a/src/site/xdoc/issue-tracking.xml
+++ b/src/site/xdoc/issue-tracking.xml
@@ -15,6 +15,7 @@
   ~ See the License for the specific language governing permissions and
   ~ limitations under the License.
   -->
+
 <!--
  +======================================================================+
  |****                                                              ****|