@Test
public void invoke_createStatement() throws Throwable {

  when(mockRealConnection.createStatement()).thenReturn(mockRealStatement);
  Object o =
      connectionInvocationHandler.invoke(
          mockProxy, Connection.class.getDeclaredMethod("createStatement"), new Object[0]);
  verify(mockRealConnection).createStatement();
  assertThat(o instanceof Statement).isTrue();
  ((Statement) o).execute("some sql text");
  verify(mockRealStatement).execute("some sql text");
}