}
} else if (method.equals(PREPARED_STATEMENT_GET_ORIGINAL)) { return preparedStatement; } else
    public Object invoke(Object proxy, Method method, Object[] args)         throws Throwable     {        checkCorrectness(method);                if (method.equals(PREPARED_STATEMENT_CLOSE)) {            handleStatementClose(statement, proxy);            return Void.TYPE;        } else        if (method.equals(PREPARED_STATEMENT_GET_CONNECTION)) {            return associatedConnection;        } else        if (method.equals(PREPARED_STATEMENT_SET_CONNECTION)) {            this.associatedConnection = (Connection)args[0];            return Void.TYPE;        }        if (method.equals(PREPARED_STATEMENT_FORCE_CLOSE)) {            preparedStatement.close();            return Void.TYPE;        } else            return method.invoke(preparedStatement, args);    }