I have overloaded the execute method in org.apache.derby.impl.jdbc.EmbedStatement.execute and can call that via a test program using the Embedded driver and that works fine.Now I want to run Derby in network server mode and want to call this modified execute method from the client side. I see that when i create a client program to execute a statement it calls the org.apache.derby.client.am.Statement.execute() which calls executeX(sql) which calls flowexecute(). And i think at some time it must be callign the EmbedStatment.execute() on the server side.  So I thought I should overload the org.apache.derby.client.am.Statement.execute()  methods(since those are the methodson the client side).  I tried to overload the org.apache.derby.client.am.Statement.execute() method but not sure how to change the flowExecute() and get that working. The API seems complicated so wondering if anyone has any ideas on how I can do this? The difference is that my overloaded execute() does not take in a sql statement but some other strings.Not sure if Derby uses RMI(remoe method invocation) under the covers when it invokes the execute methods on the server side.