diff --git a/core/src/main/java/org/apache/commons/proxy2/impl/AbstractProxyFactory.java b/core/src/main/java/org/apache/commons/proxy2/impl/AbstractProxyFactory.java
index 6f9591a..253d98c 100644
--- a/core/src/main/java/org/apache/commons/proxy2/impl/AbstractProxyFactory.java
+++ b/core/src/main/java/org/apache/commons/proxy2/impl/AbstractProxyFactory.java
@@ -57,9 +57,7 @@
      */
     public <T> T createDelegatorProxy( ObjectProvider<?> delegateProvider, Class<?>... proxyClasses )
     {
-        @SuppressWarnings("unchecked")
-        final T result = (T) createDelegatorProxy(Thread.currentThread().getContextClassLoader(), delegateProvider, proxyClasses);
-        return result;
+        return createDelegatorProxy(Thread.currentThread().getContextClassLoader(), delegateProvider, proxyClasses);
     }
 
     /**
@@ -75,10 +73,8 @@
     public <T> T createInterceptorProxy( Object target, Interceptor interceptor,
                                           Class<?>... proxyClasses )
     {
-        @SuppressWarnings("unchecked")
-        final T result = (T) createInterceptorProxy(Thread.currentThread().getContextClassLoader(), target, interceptor,
+        return createInterceptorProxy(Thread.currentThread().getContextClassLoader(), target, interceptor,
                                       proxyClasses);
-        return result;
     }
 
     /**
@@ -91,10 +87,8 @@
      */
     public <T> T createInvokerProxy( Invoker invoker, Class<?>... proxyClasses )
     {
-        @SuppressWarnings("unchecked")
-        final T result = (T) createInvokerProxy(Thread.currentThread().getContextClassLoader(), invoker,
+        return createInvokerProxy(Thread.currentThread().getContextClassLoader(), invoker,
                                   proxyClasses);
-        return result;
     }
 
 }
