diff --git a/pom.xml b/pom.xml
index 168c11e..3563c19 100644
--- a/pom.xml
+++ b/pom.xml
@@ -16,7 +16,7 @@
     
         org.sonatype.forge
         forge-parent
-        6
+        12
     
     4.0.0
     org.sonatype.spice
@@ -42,6 +42,11 @@
             Jeanfrancois Arcand
             jfarcand@apache.org
         
+        
+            simonetripodi
+            Simone Tripodi
+            simonetripodi@apache.org
+        
     
     
         
@@ -55,16 +60,19 @@
             repo
         
     
+    
+        1.14
+    
     
         
             com.sun.jersey
             jersey-client
-            1.5
+            ${jersey.version}
         
         
             com.sun.jersey
             jersey-json
-            1.5
+            ${jersey.version}
         
         
             javax.ws.rs
@@ -75,7 +83,7 @@
         
             com.ning
             async-http-client
-            1.6.4
+            1.7.6
         
         
             com.sun.xml.bind
@@ -98,13 +106,19 @@
         
             junit
             junit
-            4.8.2
+            4.10
             test
         
         
             com.sun.jersey
             jersey-server
-            1.5
+            ${jersey.version}
+            test
+        
+        
+            com.sun.jersey
+            jersey-bundle
+            ${jersey.version}
             test
         
     
@@ -114,7 +128,6 @@
             
                 org.codehaus.mojo
                 animal-sniffer-maven-plugin
-                1.6
                 
                     
                         org.codehaus.mojo.signature
@@ -135,7 +148,6 @@
             
                 org.apache.felix
                 maven-bundle-plugin
-                2.0.1
                 true
                 
                     META-INF
@@ -163,7 +175,6 @@
             
                 org.apache.maven.plugins
                 maven-enforcer-plugin
-                1.0-beta-1
                 
                     
                         enforce-versions
@@ -186,31 +197,13 @@
             
                 org.apache.maven.plugins
                 maven-compiler-plugin
-                2.3.2
                 
-                    1.5
-                    1.5
-                    UTF-8
                     1024m
                 
             
-            
-                org.apache.maven.plugins
-                maven-resources-plugin
-                2.4.3
-                
-                    UTF-8
-                
-            
-            
-                org.apache.maven.plugins
-                maven-release-plugin
-                2.1
-            
             
                 org.apache.maven.plugins
                 maven-jar-plugin
-                2.3.1
                 
                     
                         
@@ -219,20 +212,6 @@
                     
                 
             
-            
-                org.apache.maven.plugins
-                maven-source-plugin
-                2.1.2
-                
-                    
-                        attach-sources
-                        verify
-                        
-                            jar-no-fork
-                        
-                    
-                
-            
         
     
 
diff --git a/src/main/java/org/sonatype/spice/jersey/client/ahc/AhcClientHandler.java b/src/main/java/org/sonatype/spice/jersey/client/ahc/AhcClientHandler.java
index a023ae4..b09babe 100644
--- a/src/main/java/org/sonatype/spice/jersey/client/ahc/AhcClientHandler.java
+++ b/src/main/java/org/sonatype/spice/jersey/client/ahc/AhcClientHandler.java
@@ -105,7 +105,6 @@ public AsyncHttpClient getHttpClient() {
      * @return the {@link ClientResponse}
      * @throws ClientHandlerException
      */
-    @Override
     public ClientResponse handle(final ClientRequest cr)
             throws ClientHandlerException {
 
diff --git a/src/main/java/org/sonatype/spice/jersey/client/ahc/AhcHttpClient.java b/src/main/java/org/sonatype/spice/jersey/client/ahc/AhcHttpClient.java
index 48d6a8d..88779b5 100644
--- a/src/main/java/org/sonatype/spice/jersey/client/ahc/AhcHttpClient.java
+++ b/src/main/java/org/sonatype/spice/jersey/client/ahc/AhcHttpClient.java
@@ -149,7 +149,11 @@ protected void finalize(){
             // Do not close the AHCClient.
             super.destroy();
         } finally {
-            super.finalize();            
+            try {
+                super.finalize();
+            } catch (Throwable e) {
+                // TODO swallow?
+            }
         }
     }
 
diff --git a/src/main/java/org/sonatype/spice/jersey/client/ahc/AhcRequestWriter.java b/src/main/java/org/sonatype/spice/jersey/client/ahc/AhcRequestWriter.java
index 9684d54..4143cd1 100644
--- a/src/main/java/org/sonatype/spice/jersey/client/ahc/AhcRequestWriter.java
+++ b/src/main/java/org/sonatype/spice/jersey/client/ahc/AhcRequestWriter.java
@@ -11,6 +11,8 @@
  *******************************************************************************/
 package org.sonatype.spice.jersey.client.ahc;
 
+import static com.sun.jersey.api.client.ClientRequest.getHeaderValue;
+
 import com.ning.http.client.PerRequestConfig;
 import com.ning.http.client.Request;
 import com.ning.http.client.RequestBuilder;
@@ -52,7 +54,7 @@ public void configureRequest(final RequestBuilder requestBuilder, final ClientRe
                 re.writeRequestEntity(new CommittingOutputStream(baos) {
                     @Override
                     protected void commit() throws IOException {
-                        configureHeaders(cr.getMetadata(), requestBuilder);
+                        configureHeaders(cr.getHeaders(), requestBuilder);
                     }
                 });
             } catch (IOException ex) {
@@ -61,13 +63,12 @@ protected void commit() throws IOException {
 
             final byte[] content = baos.toByteArray();
             requestBuilder.setBody(new Request.EntityWriter() {
-                @Override
                 public void writeEntity(OutputStream out) throws IOException {
                     out.write(content);
                 }
             });
         } else {
-            configureHeaders(cr.getMetadata(), requestBuilder);            
+            configureHeaders(cr.getHeaders(), requestBuilder);
         }
     }
 
@@ -78,7 +79,7 @@ private void configureHeaders(MultivaluedMap metadata, RequestBu
                 if (String.class.isAssignableFrom( o.getClass() )) {
                     requestBuilder.addHeader(e.getKey(), o.toString());
                 } else {
-                    requestBuilder.addHeader(e.getKey(), headerValueToString(o));
+                    requestBuilder.addHeader(e.getKey(), getHeaderValue(o));
                 }
             }
         }
diff --git a/src/test/java/org/sonatype/spice/jersey/client/ahc/tests/tests/AbstractGrizzlyServerTester.java b/src/test/java/org/sonatype/spice/jersey/client/ahc/tests/tests/AbstractGrizzlyServerTester.java
index 4313b71..d781abb 100644
--- a/src/test/java/org/sonatype/spice/jersey/client/ahc/tests/tests/AbstractGrizzlyServerTester.java
+++ b/src/test/java/org/sonatype/spice/jersey/client/ahc/tests/tests/AbstractGrizzlyServerTester.java
@@ -33,7 +33,7 @@ public abstract class AbstractGrizzlyServerTester extends TestCase {
     private SelectorThread selectorThread;
 
     private int port = getEnvVariable("JERSEY_HTTP_PORT", 9997);
-    
+
     private static int getEnvVariable(final String varName, int defaultValue) {
         if (null == varName) {
             return defaultValue;
@@ -52,26 +52,26 @@ private static int getEnvVariable(final String varName, int defaultValue) {
     public AbstractGrizzlyServerTester(String name) {
         super(name);
     }
-    
+
     public UriBuilder getUri() {
         return UriBuilder.fromUri("http://localhost").port(port).path(CONTEXT);
     }
-    
-    public void startServer(Class... resources) {
+
+    public void startServer(Class>... resources) {
         start(ContainerFactory.createContainer(Adapter.class, resources));
     }
-    
+
     public void startServer(ResourceConfig config) {
         start(ContainerFactory.createContainer(Adapter.class, config));
     }
-    
+
     private void start(Adapter adapter) {
         if (selectorThread != null && selectorThread.isRunning()){
             stopServer();
         }
 
         System.out.println("Starting GrizzlyServer port number = " + port);
-        
+
         URI u = UriBuilder.fromUri("http://localhost").port(port).build();
         try {
             selectorThread = GrizzlyServerFactory.create(u, adapter);
@@ -91,13 +91,13 @@ private void start(Adapter adapter) {
             }
         }
     }
-    
+
     public void stopServer() {
         if (selectorThread.isRunning()) {
             selectorThread.stopEndpoint();
         }
     }
-    
+
     @Override
     public void tearDown() {
         stopServer();