--- build.xml
+++ build.xml
@@ -63,7 +63,7 @@
 	<property name="c3p0-build.debug" value="false" />
 	<property name="c3p0-build.trace" value="5" />
 
-	<property name="c3p0.target.version" value="1.4" />
+	<property name="c3p0.target.version" value="1.5" />
 
 	<path id="codegen-classpath">
 		<pathelement location="${build.classes.dir}" />
@@ -647,7 +647,7 @@
 		<antcall target="jar" inheritAll="false">
 			<param name="java.src.dir" value="${build.jdk13.java.src.dir}" />
 			<param name="build.classes.dir" value="${build.jdk13.build.classes.dir}" />
-			<param name="c3p0.target.version" value="1.3" />
+			<param name="c3p0.target.version" value="1.5" />
 			<param name="build.jar.file" value="${build.jar.file.jdk13}" />			
 			<param name="up-to-date-relproj" value="true" />
 		</antcall>
--- src/classes/com/mchange/v2/c3p0/ComboPooledDataSource.java
+++ src/classes/com/mchange/v2/c3p0/ComboPooledDataSource.java
@@ -573,6 +573,16 @@
             throw new IOException("Unsupported Serialized Version: " + version);
         }
     }
+
+    // Java6 build - interface java.sql.Wrapper
+
+    public <T> T unwrap(java.lang.Class<T> iface) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method unwrap()");
+    }   
+
+    public boolean isWrapperFor(java.lang.Class<?> iface) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method isWrapperFor()");
+    }   
 }
 
 //now, referenceability happens exactly the same way it does for PoolBackedDataSource
--- src/classes/com/mchange/v2/c3p0/DriverManagerDataSource.java
+++ src/classes/com/mchange/v2/c3p0/DriverManagerDataSource.java
@@ -251,4 +251,14 @@
             throw new IOException("Unsupported Serialized Version: " + version);
         }
     }
+
+    // Java6 build - interface java.sql.Wrapper
+
+    public <T> T unwrap(java.lang.Class<T> iface) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method unwrap()");
+    }   
+
+    public boolean isWrapperFor(java.lang.Class<?> iface) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method isWrapperFor()");
+    }   
 }
--- src/classes/com/mchange/v2/c3p0/JndiRefForwardingDataSource.java
+++ src/classes/com/mchange/v2/c3p0/JndiRefForwardingDataSource.java
@@ -165,5 +165,15 @@
 		throw new IOException("Unsupported Serialized Version: " + version);
 	    }
     }
+    
+    // Java6 build - interface java.sql.Wrapper
+
+    public <T> T unwrap(java.lang.Class<T> iface) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method unwrap()");
+    }   
+
+    public boolean isWrapperFor(java.lang.Class<?> iface) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method isWrapperFor()");
+    }   
 }
 
--- src/classes/com/mchange/v2/c3p0/PoolBackedDataSource.java
+++ src/classes/com/mchange/v2/c3p0/PoolBackedDataSource.java
@@ -35,5 +35,15 @@
 
     public PoolBackedDataSource(String configName)
     { super( configName ); }
+
+    // Java6 build - interface java.sql.Wrapper
+
+    public <T> T unwrap(java.lang.Class<T> iface) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method unwrap()");
+    }   
+
+    public boolean isWrapperFor(java.lang.Class<?> iface) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method isWrapperFor()");
+    }   
 }
 
--- src/classes/com/mchange/v2/c3p0/impl/C3P0PooledConnection.java
+++ src/classes/com/mchange/v2/c3p0/impl/C3P0PooledConnection.java
@@ -512,6 +512,210 @@
 
 	public Statement getStatement() throws SQLException
 	{ return (proxyStatement == null ? super.getStatement() : proxyStatement); }
+
+        // Java6 build - interface java.sql.ResultSet
+
+        public java.sql.RowId getRowId(int columnIndex) throws SQLException {
+            throw new RuntimeException("Not implemented method getRowId()");
+        }   
+
+        public java.sql.RowId getRowId(String columnLabel) throws SQLException {
+            throw new RuntimeException("Not implemented method getRowId()");
+        }   
+
+        public void updateRowId(int columnIndex, java.sql.RowId x) throws SQLException {
+            throw new RuntimeException("Not implemented method updateRowId()");
+        }   
+
+        public void updateRowId(String columnLabel, java.sql.RowId x) throws SQLException {
+            throw new RuntimeException("Not implemented method updateRowId()");
+        }   
+
+        public int getHoldability() throws SQLException {
+            throw new RuntimeException("Not implemented method getHoldability()");
+        }   
+
+        public boolean isClosed() throws SQLException {
+            throw new RuntimeException("Not implemented method isClosed()");
+        }   
+
+        public void updateNString(int columnIndex, String nString) throws SQLException {
+            throw new RuntimeException("Not implemented method updateNString()");
+        }   
+
+        public void updateNString(String columnLabel, String nString) throws SQLException {
+            throw new RuntimeException("Not implemented method updateNString()");
+        }   
+
+        public void updateNClob(int columnIndex, java.sql.NClob nClob) throws SQLException {
+            throw new RuntimeException("Not implemented method updateNClob()");
+        }   
+
+        public void updateNClob(String columnLabel, java.sql.NClob nClob) throws SQLException {
+            throw new RuntimeException("Not implemented method updateNClob()");
+        }   
+
+        public java.sql.NClob getNClob(int columnIndex) throws SQLException {
+            throw new RuntimeException("Not implemented method getNClob()");
+        }   
+
+        public java.sql.NClob getNClob(String columnLabel) throws SQLException {
+            throw new RuntimeException("Not implemented method getNClob()");
+        }   
+
+        public java.sql.SQLXML getSQLXML(int columnIndex) throws SQLException {
+            throw new RuntimeException("Not implemented method getSQLXML()");
+        }   
+
+        public java.sql.SQLXML getSQLXML(String columnLabel) throws SQLException {
+            throw new RuntimeException("Not implemented method getSQLXML()");
+        }   
+
+        public void updateSQLXML(int columnIndex, java.sql.SQLXML xmlObject) throws SQLException {
+            throw new RuntimeException("Not implemented method updateSQLXML()");
+        }   
+
+        public void updateSQLXML(String columnLabel, java.sql.SQLXML xmlObject) throws SQLException {
+            throw new RuntimeException("Not implemented method updateSQLXML()");
+        }   
+
+        public String getNString(int columnIndex) throws SQLException {
+            throw new RuntimeException("Not implemented method getNString()");
+        }   
+
+        public String getNString(String columnLabel) throws SQLException {
+            throw new RuntimeException("Not implemented method getNString()");
+        }   
+
+        public java.io.Reader getNCharacterStream(int columnIndex) throws SQLException {
+            throw new RuntimeException("Not implemented method getNCharacterStream()");
+        }   
+
+        public java.io.Reader getNCharacterStream(String columnLabel) throws SQLException {
+            throw new RuntimeException("Not implemented method getNCharacterStream()");
+        }   
+
+        public void updateNCharacterStream(int columnIndex, java.io.Reader x, long length) throws SQLException {
+            throw new RuntimeException("Not implemented method updateNCharacterStream()");
+        }   
+
+        public void updateNCharacterStream(String columnLabel, java.io.Reader reader, long length) throws SQLException {
+            throw new RuntimeException("Not implemented method updateNCharacterStream()");
+        }   
+
+        public void updateAsciiStream(int columnIndex, java.io.InputStream x, long length) throws SQLException {
+            throw new RuntimeException("Not implemented method updateAsciiStream()");
+        }   
+
+        public void updateBinaryStream(int columnIndex, java.io.InputStream x, long length) throws SQLException {
+            throw new RuntimeException("Not implemented method updateBinaryStream()");
+        }   
+
+        public void updateCharacterStream(int columnIndex, java.io.Reader x, long length) throws SQLException {
+            throw new RuntimeException("Not implemented method updateCharacterStream()");
+        }   
+
+        public void updateAsciiStream(String columnLabel, java.io.InputStream x, long length) throws SQLException {
+            throw new RuntimeException("Not implemented method updateAsciiStream()");
+        }   
+
+        public void updateBinaryStream(String columnLabel, java.io.InputStream x, long length) throws SQLException {
+            throw new RuntimeException("Not implemented method updateBinaryStream()");
+        }   
+
+        public void updateCharacterStream(String columnLabel, java.io.Reader reader, long length) throws SQLException {
+            throw new RuntimeException("Not implemented method updateCharacterStream()");
+        }   
+
+        public void updateBlob(int columnIndex, java.io.InputStream inputStream, long length) throws SQLException {
+            throw new RuntimeException("Not implemented method updateBlob()");
+        }   
+
+        public void updateBlob(String columnLabel, java.io.InputStream inputStream, long length) throws SQLException {
+            throw new RuntimeException("Not implemented method updateBlob()");
+        }   
+
+        public void updateClob(int columnIndex,  java.io.Reader reader, long length) throws SQLException {
+            throw new RuntimeException("Not implemented method updateClob()");
+        }   
+
+        public void updateClob(String columnLabel,  java.io.Reader reader, long length) throws SQLException {
+            throw new RuntimeException("Not implemented method updateClob()");
+        }   
+
+        public void updateNClob(int columnIndex,  java.io.Reader reader, long length) throws SQLException {
+            throw new RuntimeException("Not implemented method updateNClob()");
+        }   
+
+        public void updateNClob(String columnLabel,  java.io.Reader reader, long length) throws SQLException {
+            throw new RuntimeException("Not implemented method updateNClob()");
+        }   
+
+        public void updateNCharacterStream(int columnIndex, java.io.Reader x) throws SQLException {
+            throw new RuntimeException("Not implemented method updateNCharacterStream()");
+        }   
+
+        public void updateNCharacterStream(String columnLabel, java.io.Reader reader) throws SQLException {
+            throw new RuntimeException("Not implemented method updateNCharacterStream()");
+        }   
+
+        public void updateAsciiStream(int columnIndex, java.io.InputStream x) throws SQLException {
+            throw new RuntimeException("Not implemented method updateAsciiStream()");
+        }   
+
+        public void updateBinaryStream(int columnIndex, java.io.InputStream x) throws SQLException {
+            throw new RuntimeException("Not implemented method updateBinaryStream()");
+        }   
+
+        public void updateCharacterStream(int columnIndex, java.io.Reader x) throws SQLException {
+            throw new RuntimeException("Not implemented method updateCharacterStream()");
+        }   
+
+        public void updateAsciiStream(String columnLabel, java.io.InputStream x) throws SQLException {
+            throw new RuntimeException("Not implemented method updateAsciiStream()");
+        }   
+
+        public void updateBinaryStream(String columnLabel, java.io.InputStream x) throws SQLException {
+            throw new RuntimeException("Not implemented method updateBinaryStream()");
+        }   
+
+        public void updateCharacterStream(String columnLabel, java.io.Reader reader) throws SQLException {
+            throw new RuntimeException("Not implemented method updateCharacterStream()");
+        }   
+
+        public void updateBlob(int columnIndex, java.io.InputStream inputStream) throws SQLException {
+            throw new RuntimeException("Not implemented method updateBlob()");
+        }   
+
+        public void updateBlob(String columnLabel, java.io.InputStream inputStream) throws SQLException {
+            throw new RuntimeException("Not implemented method updateBlob()");
+        }   
+
+        public void updateClob(int columnIndex,  java.io.Reader reader) throws SQLException {
+            throw new RuntimeException("Not implemented method updateClob()");
+        }   
+
+        public void updateClob(String columnLabel,  java.io.Reader reader) throws SQLException {
+            throw new RuntimeException("Not implemented method updateClob()");
+        }   
+
+        public void updateNClob(int columnIndex,  java.io.Reader reader) throws SQLException {
+            throw new RuntimeException("Not implemented method updateNClob()");
+        }   
+
+        public void updateNClob(String columnLabel,  java.io.Reader reader) throws SQLException {
+            throw new RuntimeException("Not implemented method updateNClob()");
+        }   
+
+        // Java6 build - interface java.sql.Wrapper
+
+        public <T> T unwrap(java.lang.Class<T> iface) throws java.sql.SQLException {
+            throw new RuntimeException("Not implemented method unwrap()");
+        }   
+
+        public boolean isWrapperFor(java.lang.Class<?> iface) throws java.sql.SQLException {
+            throw new RuntimeException("Not implemented method isWrapperFor()");
+        }   
     }
 
     /*
@@ -646,6 +850,238 @@
 
 			public void close() throws SQLException
 			{ wsh.doClose(); }
+
+                        // Java6 build - interface java.sql.CallableStatement
+
+                        public java.sql.RowId getRowId(int parameterIndex) throws SQLException {
+                            throw new RuntimeException("Not implemented method getRowId()");
+                        }   
+
+                        public java.sql.RowId getRowId(String parameterName) throws SQLException {
+                            throw new RuntimeException("Not implemented method getRowId()");
+                        }   
+
+                        public void setRowId(String parameterName, java.sql.RowId x) throws SQLException {
+                            throw new RuntimeException("Not implemented method setRowId()");
+                        }   
+
+                        public void setNString(String parameterName, String value) throws SQLException {
+                            throw new RuntimeException("Not implemented method setNString()");
+                        }   
+
+                        public void setNCharacterStream(String parameterName, java.io.Reader value, long length) throws SQLException {
+                            throw new RuntimeException("Not implemented method setNCharacterStream()");
+                        }   
+
+                        public void setNClob(String parameterName, java.sql.NClob value) throws SQLException {
+                            throw new RuntimeException("Not implemented method setNClob()");
+                        }   
+
+                        public void setClob(String parameterName, java.io.Reader reader, long length) throws SQLException {
+                            throw new RuntimeException("Not implemented method setClob()");
+                        }   
+
+                        public void setBlob(String parameterName, java.io.InputStream inputStream, long length) throws SQLException {
+                            throw new RuntimeException("Not implemented method setBlob()");
+                        }   
+
+                        public void setNClob(String parameterName, java.io.Reader reader, long length) throws SQLException {
+                            throw new RuntimeException("Not implemented method setNClob()");
+                        }   
+
+                        public java.sql.NClob getNClob (int parameterIndex) throws SQLException {
+                            throw new RuntimeException("Not implemented method ()");
+                        }   
+
+                        public java.sql.NClob getNClob (String parameterName) throws SQLException {
+                            throw new RuntimeException("Not implemented method ()");
+                        }   
+
+                        public void setSQLXML(String parameterName, java.sql.SQLXML xmlObject) throws SQLException {
+                            throw new RuntimeException("Not implemented method setSQLXML()");
+                        }   
+
+                        public java.sql.SQLXML getSQLXML(int parameterIndex) throws SQLException {
+                            throw new RuntimeException("Not implemented method getSQLXML()");
+                        }   
+
+                        public java.sql.SQLXML getSQLXML(String parameterName) throws SQLException {
+                            throw new RuntimeException("Not implemented method getSQLXML()");
+                        }   
+
+                        public String getNString(int parameterIndex) throws SQLException {
+                            throw new RuntimeException("Not implemented method getNString()");
+                        }   
+
+                        public String getNString(String parameterName) throws SQLException {
+                            throw new RuntimeException("Not implemented method getNString()");
+                        }   
+
+                        public java.io.Reader getNCharacterStream(int parameterIndex) throws SQLException {
+                            throw new RuntimeException("Not implemented method getNCharacterStream()");
+                        }   
+
+                        public java.io.Reader getNCharacterStream(String parameterName) throws SQLException {
+                            throw new RuntimeException("Not implemented method getNCharacterStream()");
+                        }   
+
+                        public java.io.Reader getCharacterStream(int parameterIndex) throws SQLException {
+                            throw new RuntimeException("Not implemented method getCharacterStream()");
+                        }   
+
+                        public java.io.Reader getCharacterStream(String parameterName) throws SQLException {
+                            throw new RuntimeException("Not implemented method getCharacterStream()");
+                        }   
+
+                        public void setBlob (String parameterName, java.sql.Blob x) throws SQLException {
+                            throw new RuntimeException("Not implemented method ()");
+                        }   
+
+                        public void setClob (String parameterName, java.sql.Clob x) throws SQLException {
+                            throw new RuntimeException("Not implemented method ()");
+                        }   
+
+                        public void setAsciiStream(String parameterName, java.io.InputStream x, long length) throws SQLException {
+                            throw new RuntimeException("Not implemented method setAsciiStream()");
+                        }   
+
+                        public void setBinaryStream(String parameterName, java.io.InputStream x, long length) throws SQLException {
+                            throw new RuntimeException("Not implemented method setBinaryStream()");
+                        }   
+
+                        public void setCharacterStream(String parameterName, java.io.Reader reader, long length) throws SQLException {
+                            throw new RuntimeException("Not implemented method setCharacterStream()");
+                        }   
+
+                        public void setAsciiStream(String parameterName, java.io.InputStream x) throws SQLException {
+                            throw new RuntimeException("Not implemented method setAsciiStream()");
+                        }   
+
+                        public void setBinaryStream(String parameterName, java.io.InputStream x) throws SQLException {
+                            throw new RuntimeException("Not implemented method setBinaryStream()");
+                        }   
+
+                        public void setCharacterStream(String parameterName, java.io.Reader reader) throws SQLException {
+                            throw new RuntimeException("Not implemented method setCharacterStream()");
+                        }   
+
+                        public void setNCharacterStream(String parameterName, java.io.Reader value) throws SQLException {
+                            throw new RuntimeException("Not implemented method setNCharacterStream()");
+                        }   
+
+                        public void setClob(String parameterName, java.io.Reader reader) throws SQLException {
+                            throw new RuntimeException("Not implemented method setClob()");
+                        }   
+
+                        public void setBlob(String parameterName, java.io.InputStream inputStream) throws SQLException {
+                            throw new RuntimeException("Not implemented method setBlob()");
+                        }   
+
+                        public void setNClob(String parameterName, java.io.Reader reader) throws SQLException {
+                            throw new RuntimeException("Not implemented method setNClob()");
+                        }   
+
+                        // Java6 build - interface java.sql.PreparedStatement
+
+                        public void setRowId(int parameterIndex, java.sql.RowId x) throws java.sql.SQLException {
+                            throw new RuntimeException("Not implemented method setRowId()");
+                        }   
+
+                        public void setNString(int parameterIndex, String value) throws java.sql.SQLException {
+                            throw new RuntimeException("Not implemented method setNString()");
+                        }   
+
+                        public void setNCharacterStream(int parameterIndex, java.io.Reader value, long length) throws java.sql.SQLException {
+                            throw new RuntimeException("Not implemented method setNCharacterStream()");
+                        }   
+
+                        public void setNClob(int parameterIndex, java.sql.NClob value) throws java.sql.SQLException {
+                            throw new RuntimeException("Not implemented method setNClob()");
+                        }   
+
+                        public void setClob(int parameterIndex, java.io.Reader reader, long length) throws java.sql.SQLException {
+                            throw new RuntimeException("Not implemented method setClob()");
+                        }   
+
+                        public void setBlob(int parameterIndex, java.io.InputStream inputStream, long length) throws java.sql.SQLException {
+                            throw new RuntimeException("Not implemented method setBlob()");
+                        }   
+
+                        public void setNClob(int parameterIndex, java.io.Reader reader, long length) throws java.sql.SQLException {
+                            throw new RuntimeException("Not implemented method setNClob()");
+                        }   
+
+                        public void setSQLXML(int parameterIndex, java.sql.SQLXML xmlObject) throws java.sql.SQLException {
+                            throw new RuntimeException("Not implemented method setSQLXML()");
+                        }   
+
+                        public void setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength) throws java.sql.SQLException {
+                            throw new RuntimeException("Not implemented method setObject()");
+                        }   
+
+                        public void setAsciiStream(int parameterIndex, java.io.InputStream x, long length) throws java.sql.SQLException {
+                            throw new RuntimeException("Not implemented method setAsciiStream()");
+                        }   
+
+                        public void setBinaryStream(int parameterIndex, java.io.InputStream x, long length) throws java.sql.SQLException {
+                            throw new RuntimeException("Not implemented method setBinaryStream()");
+                        }   
+
+                        public void setCharacterStream(int parameterIndex, java.io.Reader reader, long length) throws java.sql.SQLException {
+                            throw new RuntimeException("Not implemented method setCharacterStream()");
+                        }   
+
+                        public void setAsciiStream(int parameterIndex, java.io.InputStream x) throws java.sql.SQLException {
+                            throw new RuntimeException("Not implemented method setAsciiStream()");
+                        }   
+
+                        public void setBinaryStream(int parameterIndex, java.io.InputStream x) throws java.sql.SQLException {
+                            throw new RuntimeException("Not implemented method setBinaryStream()");
+                        }   
+
+                        public void setCharacterStream(int parameterIndex, java.io.Reader reader) throws java.sql.SQLException {
+                            throw new RuntimeException("Not implemented method setCharacterStream()");
+                        }   
+
+                        public void setNCharacterStream(int parameterIndex, java.io.Reader value) throws java.sql.SQLException {
+                            throw new RuntimeException("Not implemented method setNCharacterStream()");
+                        }   
+
+                        public void setClob(int parameterIndex, java.io.Reader reader) throws java.sql.SQLException {
+                            throw new RuntimeException("Not implemented method setClob()");
+                        }   
+
+                        public void setBlob(int parameterIndex, java.io.InputStream inputStream) throws java.sql.SQLException {
+                            throw new RuntimeException("Not implemented method setBlob()");
+                        }   
+
+                        public void setNClob(int parameterIndex, java.io.Reader reader) throws java.sql.SQLException {
+                            throw new RuntimeException("Not implemented method setNClob()");
+                        }   
+
+                        // Java6 build - interface java.sql.Statement
+
+                        public boolean isClosed() throws java.sql.SQLException {
+                            throw new RuntimeException("Not implemented method isClosed()");
+                        }   
+
+                        public void setPoolable(boolean poolable) throws java.sql.SQLException {
+                            throw new RuntimeException("Not implemented method setPoolable()");
+                        }   
+
+                        public boolean isPoolable() throws java.sql.SQLException {
+                            throw new RuntimeException("Not implemented method isPoolable()");
+                        }   
+
+                        // Java6 build - interface java.sql.Wrapper
+
+                        public <T> T unwrap(java.lang.Class<T> iface) throws java.sql.SQLException {
+                            throw new RuntimeException("Not implemented method unwrap()");
+                        }   
+
+                        public boolean isWrapperFor(java.lang.Class<?> iface) throws java.sql.SQLException {
+                            throw new RuntimeException("Not implemented method isWrapperFor()");
+                        }   
 		    }
 
 		return new ProxyCallableStatement((CallableStatement) innerStmt );
@@ -683,6 +1119,108 @@
 
 			public void close() throws SQLException
 			{ wsh.doClose(); }
+
+                        // Java6 build - interface java.sql.PreparedStatement
+
+                        public void setRowId(int parameterIndex, java.sql.RowId x) throws SQLException {
+                            throw new RuntimeException("Not implemented method setRowId()");
+                        }   
+
+                        public void setNString(int parameterIndex, String value) throws SQLException {
+                            throw new RuntimeException("Not implemented method setNString()");
+                        }   
+
+                        public void setNCharacterStream(int parameterIndex, java.io.Reader value, long length) throws SQLException {
+                            throw new RuntimeException("Not implemented method setNCharacterStream()");
+                        }   
+
+                        public void setNClob(int parameterIndex, java.sql.NClob value) throws SQLException {
+                            throw new RuntimeException("Not implemented method setNClob()");
+                        }   
+
+                        public void setClob(int parameterIndex, java.io.Reader reader, long length) throws SQLException {
+                            throw new RuntimeException("Not implemented method setClob()");
+                        }   
+
+                        public void setBlob(int parameterIndex, java.io.InputStream inputStream, long length) throws SQLException {
+                            throw new RuntimeException("Not implemented method setBlob()");
+                        }   
+
+                        public void setNClob(int parameterIndex, java.io.Reader reader, long length) throws SQLException {
+                            throw new RuntimeException("Not implemented method setNClob()");
+                        }   
+
+                        public void setSQLXML(int parameterIndex, java.sql.SQLXML xmlObject) throws SQLException {
+                            throw new RuntimeException("Not implemented method setSQLXML()");
+                        }   
+
+                        public void setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength) throws SQLException {
+                            throw new RuntimeException("Not implemented method setObject()");
+                        }   
+
+                        public void setAsciiStream(int parameterIndex, java.io.InputStream x, long length) throws SQLException {
+                            throw new RuntimeException("Not implemented method setAsciiStream()");
+                        }   
+
+                        public void setBinaryStream(int parameterIndex, java.io.InputStream x, long length) throws SQLException {
+                            throw new RuntimeException("Not implemented method setBinaryStream()");
+                        }   
+
+                        public void setCharacterStream(int parameterIndex, java.io.Reader reader, long length) throws SQLException {
+                            throw new RuntimeException("Not implemented method setCharacterStream()");
+                        }   
+
+                        public void setAsciiStream(int parameterIndex, java.io.InputStream x) throws SQLException {
+                            throw new RuntimeException("Not implemented method setAsciiStream()");
+                        }   
+
+                        public void setBinaryStream(int parameterIndex, java.io.InputStream x) throws SQLException {
+                            throw new RuntimeException("Not implemented method setBinaryStream()");
+                        }   
+
+                        public void setCharacterStream(int parameterIndex, java.io.Reader reader) throws SQLException {
+                            throw new RuntimeException("Not implemented method setCharacterStream()");
+                        }   
+
+                        public void setNCharacterStream(int parameterIndex, java.io.Reader value) throws SQLException {
+                            throw new RuntimeException("Not implemented method setNCharacterStream()");
+                        }   
+
+                        public void setClob(int parameterIndex, java.io.Reader reader) throws SQLException {
+                            throw new RuntimeException("Not implemented method setClob()");
+                        }   
+
+                        public void setBlob(int parameterIndex, java.io.InputStream inputStream) throws SQLException {
+                            throw new RuntimeException("Not implemented method setBlob()");
+                        }   
+
+                        public void setNClob(int parameterIndex, java.io.Reader reader) throws SQLException {
+                            throw new RuntimeException("Not implemented method setNClob()");
+                        }   
+
+                        // Java6 build - interface java.sql.Statement
+
+                        public boolean isClosed() throws java.sql.SQLException {
+                            throw new RuntimeException("Not implemented method isClosed()");
+                        }   
+
+                        public void setPoolable(boolean poolable) throws java.sql.SQLException {
+                            throw new RuntimeException("Not implemented method setPoolable()");
+                        }   
+
+                        public boolean isPoolable() throws java.sql.SQLException {
+                            throw new RuntimeException("Not implemented method isPoolable()");
+                        }   
+                        
+                        // Java6 build - interface java.sql.Wrapper
+
+                        public <T> T unwrap(java.lang.Class<T> iface) throws java.sql.SQLException {
+                            throw new RuntimeException("Not implemented method unwrap()");
+                        }   
+
+                        public boolean isWrapperFor(java.lang.Class<?> iface) throws java.sql.SQLException {
+                            throw new RuntimeException("Not implemented method isWrapperFor()");
+                        }   
 		    }
 
 		return new ProxyPreparedStatement((PreparedStatement) innerStmt );
@@ -717,6 +1255,30 @@
 
 			public void close() throws SQLException
 			{ wsh.doClose(); }
+
+                        // Java6 build - interface java.sql.Statement
+
+                        public boolean isClosed() throws java.sql.SQLException {
+                            throw new RuntimeException("Not implemented method isClosed()");
+                        }   
+
+                        public void setPoolable(boolean poolable) throws java.sql.SQLException {
+                            throw new RuntimeException("Not implemented method setPoolable()");
+                        }   
+
+                        public boolean isPoolable() throws java.sql.SQLException {
+                            throw new RuntimeException("Not implemented method isPoolable()");
+                        }   
+
+                        // Java6 build - interface java.sql.Wrapper
+
+                        public <T> T unwrap(java.lang.Class<T> iface) throws java.sql.SQLException {
+                            throw new RuntimeException("Not implemented method unwrap()");
+                        }   
+
+                        public boolean isWrapperFor(java.lang.Class<?> iface) throws java.sql.SQLException {
+                            throw new RuntimeException("Not implemented method isWrapperFor()");
+                        }   
 		    }
 
 		return new ProxyStatement( innerStmt );
@@ -1169,6 +1731,210 @@
 		logger.log(MLevel.WARNING, "Broken Connection Close Error. ", e);
 	    }
     }
+
+    // Java6 build - interface javax.sql.PooledConnection
+
+    public void addStatementEventListener(javax.sql.StatementEventListener listener) {
+        throw new RuntimeException("Not implemented method addStatementEventListener()");
+    }   
+
+    public void removeStatementEventListener(javax.sql.StatementEventListener listener) {
+        throw new RuntimeException("Not implemented method removeStatementEventListener()");
+    }   
+
+    // Java6 build - interface java.sql.ResultSet
+
+    public java.sql.RowId getRowId(int columnIndex) throws SQLException {
+        throw new RuntimeException("Not implemented method getRowId()");
+    }   
+
+    public java.sql.RowId getRowId(String columnLabel) throws SQLException {
+        throw new RuntimeException("Not implemented method getRowId()");
+    }   
+
+    public void updateRowId(int columnIndex, java.sql.RowId x) throws SQLException {
+        throw new RuntimeException("Not implemented method updateRowId()");
+    }   
+
+    public void updateRowId(String columnLabel, java.sql.RowId x) throws SQLException {
+        throw new RuntimeException("Not implemented method updateRowId()");
+    }   
+
+    public int getHoldability() throws SQLException {
+        throw new RuntimeException("Not implemented method getHoldability()");
+    }   
+
+    /*public boolean isClosed() throws SQLException {
+        throw new RuntimeException("Not implemented method isClosed()");
+    }   */
+
+    public void updateNString(int columnIndex, String nString) throws SQLException {
+        throw new RuntimeException("Not implemented method updateNString()");
+    }   
+
+    public void updateNString(String columnLabel, String nString) throws SQLException {
+        throw new RuntimeException("Not implemented method updateNString()");
+    }   
+
+    public void updateNClob(int columnIndex, java.sql.NClob nClob) throws SQLException {
+        throw new RuntimeException("Not implemented method updateNClob()");
+    }   
+
+    public void updateNClob(String columnLabel, java.sql.NClob nClob) throws SQLException {
+        throw new RuntimeException("Not implemented method updateNClob()");
+    }   
+
+    public java.sql.NClob getNClob(int columnIndex) throws SQLException {
+        throw new RuntimeException("Not implemented method getNClob()");
+    }   
+
+    public java.sql.NClob getNClob(String columnLabel) throws SQLException {
+        throw new RuntimeException("Not implemented method getNClob()");
+    }   
+
+    public java.sql.SQLXML getSQLXML(int columnIndex) throws SQLException {
+        throw new RuntimeException("Not implemented method getSQLXML()");
+    }   
+
+    public java.sql.SQLXML getSQLXML(String columnLabel) throws SQLException {
+        throw new RuntimeException("Not implemented method getSQLXML()");
+    }   
+
+    public void updateSQLXML(int columnIndex, java.sql.SQLXML xmlObject) throws SQLException {
+        throw new RuntimeException("Not implemented method updateSQLXML()");
+    }   
+
+    public void updateSQLXML(String columnLabel, java.sql.SQLXML xmlObject) throws SQLException {
+        throw new RuntimeException("Not implemented method updateSQLXML()");
+    }   
+
+    public String getNString(int columnIndex) throws SQLException {
+        throw new RuntimeException("Not implemented method getNString()");
+    }   
+
+    public String getNString(String columnLabel) throws SQLException {
+        throw new RuntimeException("Not implemented method getNString()");
+    }   
+
+    public java.io.Reader getNCharacterStream(int columnIndex) throws SQLException {
+        throw new RuntimeException("Not implemented method getNCharacterStream()");
+    }   
+
+    public java.io.Reader getNCharacterStream(String columnLabel) throws SQLException {
+        throw new RuntimeException("Not implemented method getNCharacterStream()");
+    }   
+
+    public void updateNCharacterStream(int columnIndex, java.io.Reader x, long length) throws SQLException {
+        throw new RuntimeException("Not implemented method updateNCharacterStream()");
+    }   
+
+    public void updateNCharacterStream(String columnLabel, java.io.Reader reader, long length) throws SQLException {
+        throw new RuntimeException("Not implemented method updateNCharacterStream()");
+    }   
+
+    public void updateAsciiStream(int columnIndex, java.io.InputStream x, long length) throws SQLException {
+        throw new RuntimeException("Not implemented method updateAsciiStream()");
+    }   
+
+    public void updateBinaryStream(int columnIndex, java.io.InputStream x, long length) throws SQLException {
+        throw new RuntimeException("Not implemented method updateBinaryStream()");
+    }   
+
+    public void updateCharacterStream(int columnIndex, java.io.Reader x, long length) throws SQLException {
+        throw new RuntimeException("Not implemented method updateCharacterStream()");
+    }   
+
+    public void updateAsciiStream(String columnLabel, java.io.InputStream x, long length) throws SQLException {
+        throw new RuntimeException("Not implemented method updateAsciiStream()");
+    }   
+
+    public void updateBinaryStream(String columnLabel, java.io.InputStream x, long length) throws SQLException {
+        throw new RuntimeException("Not implemented method updateBinaryStream()");
+    }   
+
+    public void updateCharacterStream(String columnLabel, java.io.Reader reader, long length) throws SQLException {
+        throw new RuntimeException("Not implemented method updateCharacterStream()");
+    }   
+
+    public void updateBlob(int columnIndex, java.io.InputStream inputStream, long length) throws SQLException {
+        throw new RuntimeException("Not implemented method updateBlob()");
+    }   
+
+    public void updateBlob(String columnLabel, java.io.InputStream inputStream, long length) throws SQLException {
+        throw new RuntimeException("Not implemented method updateBlob()");
+    }   
+
+    public void updateClob(int columnIndex,  java.io.Reader reader, long length) throws SQLException {
+        throw new RuntimeException("Not implemented method updateClob()");
+    }   
+
+    public void updateClob(String columnLabel,  java.io.Reader reader, long length) throws SQLException {
+        throw new RuntimeException("Not implemented method updateClob()");
+    }   
+
+    public void updateNClob(int columnIndex,  java.io.Reader reader, long length) throws SQLException {
+        throw new RuntimeException("Not implemented method updateNClob()");
+    }   
+
+    public void updateNClob(String columnLabel,  java.io.Reader reader, long length) throws SQLException {
+        throw new RuntimeException("Not implemented method updateNClob()");
+    }   
+
+    public void updateNCharacterStream(int columnIndex, java.io.Reader x) throws SQLException {
+        throw new RuntimeException("Not implemented method updateNCharacterStream()");
+    }   
+
+    public void updateNCharacterStream(String columnLabel, java.io.Reader reader) throws SQLException {
+        throw new RuntimeException("Not implemented method updateNCharacterStream()");
+    }   
+
+    public void updateAsciiStream(int columnIndex, java.io.InputStream x) throws SQLException {
+        throw new RuntimeException("Not implemented method updateAsciiStream()");
+    }   
+
+    public void updateBinaryStream(int columnIndex, java.io.InputStream x) throws SQLException {
+        throw new RuntimeException("Not implemented method updateBinaryStream()");
+    }   
+
+    public void updateCharacterStream(int columnIndex, java.io.Reader x) throws SQLException {
+        throw new RuntimeException("Not implemented method updateCharacterStream()");
+    }   
+
+    public void updateAsciiStream(String columnLabel, java.io.InputStream x) throws SQLException {
+        throw new RuntimeException("Not implemented method updateAsciiStream()");
+    }   
+
+    public void updateBinaryStream(String columnLabel, java.io.InputStream x) throws SQLException {
+        throw new RuntimeException("Not implemented method updateBinaryStream()");
+    }   
+
+    public void updateCharacterStream(String columnLabel, java.io.Reader reader) throws SQLException {
+        throw new RuntimeException("Not implemented method updateCharacterStream()");
+    }   
+
+    public void updateBlob(int columnIndex, java.io.InputStream inputStream) throws SQLException {
+        throw new RuntimeException("Not implemented method updateBlob()");
+    }   
+
+    public void updateBlob(String columnLabel, java.io.InputStream inputStream) throws SQLException {
+        throw new RuntimeException("Not implemented method updateBlob()");
+    }   
+
+    public void updateClob(int columnIndex,  java.io.Reader reader) throws SQLException {
+        throw new RuntimeException("Not implemented method updateClob()");
+    }   
+
+    public void updateClob(String columnLabel,  java.io.Reader reader) throws SQLException {
+        throw new RuntimeException("Not implemented method updateClob()");
+    }   
+
+    public void updateNClob(int columnIndex,  java.io.Reader reader) throws SQLException {
+        throw new RuntimeException("Not implemented method updateNClob()");
+    }   
+
+    public void updateNClob(String columnLabel,  java.io.Reader reader) throws SQLException {
+        throw new RuntimeException("Not implemented method updateNClob()");
+    }   
 }
 
 
--- src/classes/com/mchange/v2/c3p0/impl/NewPooledConnection.java
+++ src/classes/com/mchange/v2/c3p0/impl/NewPooledConnection.java
@@ -737,4 +737,15 @@
             }
         }
     }
+
+    // Java6 build - interface javax.sql.PooledConnection
+
+    public void addStatementEventListener(javax.sql.StatementEventListener listener) {
+        throw new RuntimeException("Not implemented method addStatementEventListener()");
+    }   
+
+    public void removeStatementEventListener(javax.sql.StatementEventListener listener) {
+        throw new RuntimeException("Not implemented method removeStatementEventListener()");
+    }   
+
 }
--- src/classes/com/mchange/v2/c3p0/impl/NullStatementSetManagedResultSet.java
+++ src/classes/com/mchange/v2/c3p0/impl/NullStatementSetManagedResultSet.java
@@ -32,6 +32,7 @@
 import java.sql.ResultSet;
 import java.sql.Statement;
 import java.util.Set;
+import java.sql.SQLException;
 
 
 final class NullStatementSetManagedResultSet extends SetManagedResultSet
@@ -44,4 +45,208 @@
 
 public Statement getStatement()
 { return null; }
-}
\ No newline at end of file
+
+// Java6 build - interface java.sql.ResultSet
+
+public java.sql.RowId getRowId(int columnIndex) throws SQLException {
+    throw new RuntimeException("Not implemented method getRowId()");
+}   
+
+public java.sql.RowId getRowId(String columnLabel) throws SQLException {
+    throw new RuntimeException("Not implemented method getRowId()");
+}   
+
+public void updateRowId(int columnIndex, java.sql.RowId x) throws SQLException {
+    throw new RuntimeException("Not implemented method updateRowId()");
+}   
+
+public void updateRowId(String columnLabel, java.sql.RowId x) throws SQLException {
+    throw new RuntimeException("Not implemented method updateRowId()");
+}   
+
+public int getHoldability() throws SQLException {
+    throw new RuntimeException("Not implemented method getHoldability()");
+}   
+
+public boolean isClosed() throws SQLException {
+    throw new RuntimeException("Not implemented method isClosed()");
+}   
+
+public void updateNString(int columnIndex, String nString) throws SQLException {
+    throw new RuntimeException("Not implemented method updateNString()");
+}   
+
+public void updateNString(String columnLabel, String nString) throws SQLException {
+    throw new RuntimeException("Not implemented method updateNString()");
+}   
+
+public void updateNClob(int columnIndex, java.sql.NClob nClob) throws SQLException {
+    throw new RuntimeException("Not implemented method updateNClob()");
+}   
+
+public void updateNClob(String columnLabel, java.sql.NClob nClob) throws SQLException {
+    throw new RuntimeException("Not implemented method updateNClob()");
+}   
+
+public java.sql.NClob getNClob(int columnIndex) throws SQLException {
+    throw new RuntimeException("Not implemented method getNClob()");
+}   
+
+public java.sql.NClob getNClob(String columnLabel) throws SQLException {
+    throw new RuntimeException("Not implemented method getNClob()");
+}   
+
+public java.sql.SQLXML getSQLXML(int columnIndex) throws SQLException {
+    throw new RuntimeException("Not implemented method getSQLXML()");
+}   
+
+public java.sql.SQLXML getSQLXML(String columnLabel) throws SQLException {
+    throw new RuntimeException("Not implemented method getSQLXML()");
+}   
+
+public void updateSQLXML(int columnIndex, java.sql.SQLXML xmlObject) throws SQLException {
+    throw new RuntimeException("Not implemented method updateSQLXML()");
+}   
+
+public void updateSQLXML(String columnLabel, java.sql.SQLXML xmlObject) throws SQLException {
+    throw new RuntimeException("Not implemented method updateSQLXML()");
+}   
+
+public String getNString(int columnIndex) throws SQLException {
+    throw new RuntimeException("Not implemented method getNString()");
+}   
+
+public String getNString(String columnLabel) throws SQLException {
+    throw new RuntimeException("Not implemented method getNString()");
+}   
+
+public java.io.Reader getNCharacterStream(int columnIndex) throws SQLException {
+    throw new RuntimeException("Not implemented method getNCharacterStream()");
+}   
+
+public java.io.Reader getNCharacterStream(String columnLabel) throws SQLException {
+    throw new RuntimeException("Not implemented method getNCharacterStream()");
+}   
+
+public void updateNCharacterStream(int columnIndex, java.io.Reader x, long length) throws SQLException {
+    throw new RuntimeException("Not implemented method updateNCharacterStream()");
+}   
+
+public void updateNCharacterStream(String columnLabel, java.io.Reader reader, long length) throws SQLException {
+    throw new RuntimeException("Not implemented method updateNCharacterStream()");
+}   
+
+public void updateAsciiStream(int columnIndex, java.io.InputStream x, long length) throws SQLException {
+    throw new RuntimeException("Not implemented method updateAsciiStream()");
+}   
+
+public void updateBinaryStream(int columnIndex, java.io.InputStream x, long length) throws SQLException {
+    throw new RuntimeException("Not implemented method updateBinaryStream()");
+}   
+
+public void updateCharacterStream(int columnIndex, java.io.Reader x, long length) throws SQLException {
+    throw new RuntimeException("Not implemented method updateCharacterStream()");
+}   
+
+public void updateAsciiStream(String columnLabel, java.io.InputStream x, long length) throws SQLException {
+    throw new RuntimeException("Not implemented method updateAsciiStream()");
+}   
+
+public void updateBinaryStream(String columnLabel, java.io.InputStream x, long length) throws SQLException {
+    throw new RuntimeException("Not implemented method updateBinaryStream()");
+}   
+
+public void updateCharacterStream(String columnLabel, java.io.Reader reader, long length) throws SQLException {
+    throw new RuntimeException("Not implemented method updateCharacterStream()");
+}   
+
+public void updateBlob(int columnIndex, java.io.InputStream inputStream, long length) throws SQLException {
+    throw new RuntimeException("Not implemented method updateBlob()");
+}   
+
+public void updateBlob(String columnLabel, java.io.InputStream inputStream, long length) throws SQLException {
+    throw new RuntimeException("Not implemented method updateBlob()");
+}   
+
+public void updateClob(int columnIndex,  java.io.Reader reader, long length) throws SQLException {
+    throw new RuntimeException("Not implemented method updateClob()");
+}   
+
+public void updateClob(String columnLabel,  java.io.Reader reader, long length) throws SQLException {
+    throw new RuntimeException("Not implemented method updateClob()");
+}   
+
+public void updateNClob(int columnIndex,  java.io.Reader reader, long length) throws SQLException {
+    throw new RuntimeException("Not implemented method updateNClob()");
+}   
+
+public void updateNClob(String columnLabel,  java.io.Reader reader, long length) throws SQLException {
+    throw new RuntimeException("Not implemented method updateNClob()");
+}   
+
+public void updateNCharacterStream(int columnIndex, java.io.Reader x) throws SQLException {
+    throw new RuntimeException("Not implemented method updateNCharacterStream()");
+}   
+
+public void updateNCharacterStream(String columnLabel, java.io.Reader reader) throws SQLException {
+    throw new RuntimeException("Not implemented method updateNCharacterStream()");
+}   
+
+public void updateAsciiStream(int columnIndex, java.io.InputStream x) throws SQLException {
+    throw new RuntimeException("Not implemented method updateAsciiStream()");
+}   
+
+public void updateBinaryStream(int columnIndex, java.io.InputStream x) throws SQLException {
+    throw new RuntimeException("Not implemented method updateBinaryStream()");
+}   
+
+public void updateCharacterStream(int columnIndex, java.io.Reader x) throws SQLException {
+    throw new RuntimeException("Not implemented method updateCharacterStream()");
+}   
+
+public void updateAsciiStream(String columnLabel, java.io.InputStream x) throws SQLException {
+    throw new RuntimeException("Not implemented method updateAsciiStream()");
+}   
+
+public void updateBinaryStream(String columnLabel, java.io.InputStream x) throws SQLException {
+    throw new RuntimeException("Not implemented method updateBinaryStream()");
+}   
+
+public void updateCharacterStream(String columnLabel, java.io.Reader reader) throws SQLException {
+    throw new RuntimeException("Not implemented method updateCharacterStream()");
+}   
+
+public void updateBlob(int columnIndex, java.io.InputStream inputStream) throws SQLException {
+    throw new RuntimeException("Not implemented method updateBlob()");
+}   
+
+public void updateBlob(String columnLabel, java.io.InputStream inputStream) throws SQLException {
+    throw new RuntimeException("Not implemented method updateBlob()");
+}   
+
+public void updateClob(int columnIndex,  java.io.Reader reader) throws SQLException {
+    throw new RuntimeException("Not implemented method updateClob()");
+}   
+
+public void updateClob(String columnLabel,  java.io.Reader reader) throws SQLException {
+    throw new RuntimeException("Not implemented method updateClob()");
+}   
+
+public void updateNClob(int columnIndex,  java.io.Reader reader) throws SQLException {
+    throw new RuntimeException("Not implemented method updateNClob()");
+}   
+
+public void updateNClob(String columnLabel,  java.io.Reader reader) throws SQLException {
+    throw new RuntimeException("Not implemented method updateNClob()");
+}   
+
+// Java6 build - interface java.sql.Wrapper
+
+public <T> T unwrap(java.lang.Class<T> iface) throws java.sql.SQLException {
+    throw new RuntimeException("Not implemented method unwrap()");
+}   
+
+public boolean isWrapperFor(java.lang.Class<?> iface) throws java.sql.SQLException {
+    throw new RuntimeException("Not implemented method isWrapperFor()");
+}   
+}
--- src/classes/com/mchange/v2/c3p0/impl/SetManagedDatabaseMetaData.java
+++ src/classes/com/mchange/v2/c3p0/impl/SetManagedDatabaseMetaData.java
@@ -131,6 +131,46 @@
     {
         return new NullStatementSetManagedResultSet( inner.getUDTs(a, b, c, d), activeResultSets );
     }
+
+    // Java6 build - interface java.sql.DatabaseMetaData
+
+    public java.sql.RowIdLifetime getRowIdLifetime() throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method getRowIdLifetime()");
+    }   
+
+    public java.sql.ResultSet getSchemas(String catalog, String schemaPattern) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method getSchemas()");
+    }   
+
+    public boolean supportsStoredFunctionsUsingCallSyntax() throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method supportsStoredFunctionsUsingCallSyntax()");
+    }   
+
+    public boolean autoCommitFailureClosesAllResultSets() throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method autoCommitFailureClosesAllResultSets()");
+    }   
+
+    public java.sql.ResultSet getClientInfoProperties() throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method getClientInfoProperties()");
+    }   
+
+    public java.sql.ResultSet getFunctions(String catalog, String schemaPattern, String functionNamePattern) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method getFunctions()");
+    }   
+
+    public java.sql.ResultSet getFunctionColumns(String catalog, String schemaPattern, String functionNamePattern, String columnNamePattern) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method getFunctionColumns()");
+    }   
+
+    // Java6 build - interface java.sql.Wrapper
+
+    public <T> T unwrap(java.lang.Class<T> iface) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method unwrap()");
+    }   
+
+    public boolean isWrapperFor(java.lang.Class<?> iface) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method isWrapperFor()");
+    }   
 }
 
 
--- src/classes/com/mchange/v2/c3p0/impl/SnatchFromSetResultSet.java
+++ src/classes/com/mchange/v2/c3p0/impl/SnatchFromSetResultSet.java
@@ -46,4 +46,208 @@
 	activeResultSets.remove( inner ); 
 	inner = null;
     }
+
+    // Java6 build - interface java.sql.ResultSet
+
+    public java.sql.RowId getRowId(int columnIndex) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method getRowId()");
+    }   
+
+    public java.sql.RowId getRowId(String columnLabel) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method getRowId()");
+    }   
+
+    public void updateRowId(int columnIndex, java.sql.RowId x) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method updateRowId()");
+    }   
+
+    public void updateRowId(String columnLabel, java.sql.RowId x) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method updateRowId()");
+    }   
+
+    public int getHoldability() throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method getHoldability()");
+    }   
+
+    public boolean isClosed() throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method isClosed()");
+    }   
+
+    public void updateNString(int columnIndex, String nString) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method updateNString()");
+    }   
+
+    public void updateNString(String columnLabel, String nString) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method updateNString()");
+    }   
+
+    public void updateNClob(int columnIndex, java.sql.NClob nClob) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method updateNClob()");
+    }   
+
+    public void updateNClob(String columnLabel, java.sql.NClob nClob) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method updateNClob()");
+    }   
+
+    public java.sql.NClob getNClob(int columnIndex) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method getNClob()");
+    }   
+
+    public java.sql.NClob getNClob(String columnLabel) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method getNClob()");
+    }   
+
+    public java.sql.SQLXML getSQLXML(int columnIndex) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method getSQLXML()");
+    }   
+
+    public java.sql.SQLXML getSQLXML(String columnLabel) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method getSQLXML()");
+    }   
+
+    public void updateSQLXML(int columnIndex, java.sql.SQLXML xmlObject) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method updateSQLXML()");
+    }   
+
+    public void updateSQLXML(String columnLabel, java.sql.SQLXML xmlObject) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method updateSQLXML()");
+    }   
+
+    public String getNString(int columnIndex) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method getNString()");
+    }   
+
+    public String getNString(String columnLabel) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method getNString()");
+    }   
+
+    public java.io.Reader getNCharacterStream(int columnIndex) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method getNCharacterStream()");
+    }   
+
+    public java.io.Reader getNCharacterStream(String columnLabel) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method getNCharacterStream()");
+    }   
+
+    public void updateNCharacterStream(int columnIndex, java.io.Reader x, long length) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method updateNCharacterStream()");
+    }   
+
+    public void updateNCharacterStream(String columnLabel, java.io.Reader reader, long length) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method updateNCharacterStream()");
+    }   
+
+    public void updateAsciiStream(int columnIndex, java.io.InputStream x, long length) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method updateAsciiStream()");
+    }   
+
+    public void updateBinaryStream(int columnIndex, java.io.InputStream x, long length) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method updateBinaryStream()");
+    }   
+
+    public void updateCharacterStream(int columnIndex, java.io.Reader x, long length) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method updateCharacterStream()");
+    }   
+
+    public void updateAsciiStream(String columnLabel, java.io.InputStream x, long length) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method updateAsciiStream()");
+    }   
+
+    public void updateBinaryStream(String columnLabel, java.io.InputStream x, long length) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method updateBinaryStream()");
+    }   
+
+    public void updateCharacterStream(String columnLabel, java.io.Reader reader, long length) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method updateCharacterStream()");
+    }   
+
+    public void updateBlob(int columnIndex, java.io.InputStream inputStream, long length) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method updateBlob()");
+    }   
+
+    public void updateBlob(String columnLabel, java.io.InputStream inputStream, long length) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method updateBlob()");
+    }   
+
+    public void updateClob(int columnIndex,  java.io.Reader reader, long length) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method updateClob()");
+    }   
+
+    public void updateClob(String columnLabel,  java.io.Reader reader, long length) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method updateClob()");
+    }   
+
+    public void updateNClob(int columnIndex,  java.io.Reader reader, long length) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method updateNClob()");
+    }   
+
+    public void updateNClob(String columnLabel,  java.io.Reader reader, long length) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method updateNClob()");
+    }   
+
+    public void updateNCharacterStream(int columnIndex, java.io.Reader x) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method updateNCharacterStream()");
+    }   
+
+    public void updateNCharacterStream(String columnLabel, java.io.Reader reader) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method updateNCharacterStream()");
+    }   
+
+    public void updateAsciiStream(int columnIndex, java.io.InputStream x) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method updateAsciiStream()");
+    }   
+
+    public void updateBinaryStream(int columnIndex, java.io.InputStream x) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method updateBinaryStream()");
+    }   
+
+    public void updateCharacterStream(int columnIndex, java.io.Reader x) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method updateCharacterStream()");
+    }   
+
+    public void updateAsciiStream(String columnLabel, java.io.InputStream x) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method updateAsciiStream()");
+    }   
+
+    public void updateBinaryStream(String columnLabel, java.io.InputStream x) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method updateBinaryStream()");
+    }   
+
+    public void updateCharacterStream(String columnLabel, java.io.Reader reader) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method updateCharacterStream()");
+    }   
+
+    public void updateBlob(int columnIndex, java.io.InputStream inputStream) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method updateBlob()");
+    }   
+
+    public void updateBlob(String columnLabel, java.io.InputStream inputStream) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method updateBlob()");
+    }   
+
+    public void updateClob(int columnIndex,  java.io.Reader reader) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method updateClob()");
+    }   
+
+    public void updateClob(String columnLabel,  java.io.Reader reader) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method updateClob()");
+    }   
+
+    public void updateNClob(int columnIndex,  java.io.Reader reader) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method updateNClob()");
+    }   
+
+    public void updateNClob(String columnLabel,  java.io.Reader reader) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method updateNClob()");
+    }   
+
+    // Java6 build - interface java.sql.Wrapper
+
+    public <T> T unwrap(java.lang.Class<T> iface) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method unwrap()");
+    }   
+
+    public boolean isWrapperFor(java.lang.Class<?> iface) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method isWrapperFor()");
+    }   
 }
--- src/classes/com/mchange/v2/c3p0/test/FreezableDriverManagerDataSource.java
+++ src/classes/com/mchange/v2/c3p0/test/FreezableDriverManagerDataSource.java
@@ -280,4 +280,14 @@
             throw new IOException("Unsupported Serialized Version: " + version);
         }
     }
+
+    // Java6 build - interface java.sql.Wrapper
+
+    public <T> T unwrap(java.lang.Class<T> iface) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method unwrap()");
+    }   
+
+    public boolean isWrapperFor(java.lang.Class<?> iface) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method isWrapperFor()");
+    }   
 }
--- src/classes/com/mchange/v2/c3p0/util/CloseReportingConnectionWrapper.java
+++ src/classes/com/mchange/v2/c3p0/util/CloseReportingConnectionWrapper.java
@@ -37,4 +37,60 @@
 	new SQLWarning("Connection.close() called!").printStackTrace();
 	super.close();
     }
+
+    // Java6 build - interface java.sql.Connection
+
+    public java.sql.Clob createClob() throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method createClob()");
+    }   
+
+    public java.sql.Blob createBlob() throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method createBlob()");
+    }   
+
+    public java.sql.NClob createNClob() throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method createNClob()");
+    }   
+
+    public java.sql.SQLXML createSQLXML() throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method createSQLXML()");
+    }   
+
+    public boolean isValid(int timeout) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method isValid()");
+    }   
+
+    public void setClientInfo(String name, String value) throws java.sql.SQLClientInfoException {
+        throw new RuntimeException("Not implemented method setClientInfo()");
+    }   
+
+    public void setClientInfo(java.util.Properties properties) throws java.sql.SQLClientInfoException {
+        throw new RuntimeException("Not implemented method setClientInfo()");
+    }   
+
+    public String getClientInfo(String name) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method getClientInfo()");
+    }   
+
+    public java.util.Properties getClientInfo() throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method getClientInfo()");
+    }   
+
+    public Array createArrayOf(String typeName, Object[] elements) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method createArrayOf()");
+    }   
+
+    public Struct createStruct(String typeName, Object[] attributes) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method createStruct()");
+    }   
+
+    // Java6 build - interface java.sql.Wrapper
+
+    public <T> T unwrap(java.lang.Class<T> iface) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method unwrap()");
+    }   
+
+    public boolean isWrapperFor(java.lang.Class<?> iface) throws java.sql.SQLException {
+        throw new RuntimeException("Not implemented method isWrapperFor()");
+    }   
 }
