@Override
    @SuppressWarnings("nls")
    public void listOrgs(IAsyncResultHandler<List<String>> handler) {
        QueryRunner run = new QueryRunner(ds);
        try {
            List<String> orgList = run.query("SELECT DISTINCT merged.org_id\n" +
                    "FROM\n" +
                    "    (\n" +
                    "        SELECT\n" +
                    "            org_id\n" +
                    "        FROM\n" +
                    "            gw_apis\n" +
                    "    UNION \n" +
                    "        SELECT\n" +
                    "            org_id\n" +
                    "        FROM\n" +
                    "            gw_clients\n" +
                    "    ) merged;",
                    Handlers.STRING_LIST_COL1_HANDLER);
            handler.handle(AsyncResultImpl.create(orgList));
        } catch (SQLException e) {
            handler.handle(AsyncResultImpl.create(e));
        }
    }
@see io.apiman.gateway.engine.IRegistry#getContract(java.lang.String, java.lang.String, java.lang.String, java.lang.String, io.apiman.gateway.engine.async.IAsyncResultHandler)
gateway/engine/jdbc/src/main/java/io/apiman/gateway/engine/jdbc/JdbcRegistry.java