Replace ConnectionProxy’s ArrayList<Statement> with a custom class (FastStatementList), replace the singleton generated JavassistProxyFactory with a class that has static methods (so we get invokestatic rather than invokeinterface) in bytecode.