Chamada síncrona do GWT

Eu tenho um método no GWT que recupera os dados do banco de dados usando o método de fogo dos pedidos como todos sabem seu assíncrono Eu estou chamando esse método de JS, então eu preciso fazer síncrono é possível

private static String retriveLocation(String part)
{
    ClientFactory clientFactory = GWT.create(ClientFactory.class);
    MyRequestFactory requestFactory = clientFactory.getRequestFactory();
    YadgetRequest request = requestFactory.yadgetRequest();
    String criteria = "!" + part;
    final ArrayList<String> tags = new ArrayList<String>();

    request.getTagsStartingWith(criteria, 10, 0).fire(
            new Receiver<List<TagProxy>>() {
                @Override
                public void onSuccess(List<TagProxy> tagList) {
                    String output = "[";

                    for (TagProxy pt : tagList) {
                        output += "{";
                        output += "\"id\":" + "\"" + pt.getId() + "\",";
                        output += "\"value\":"
                                + "\""
                                + pt.getName().replaceAll("\"", "")
                                        .replaceAll("!", "") + "\"";
                        output += "},";

                    }
                    if (output.length() > 2)
                        output = output.substring(0, output.length() - 1);
                    output += "]";
                    tags.add(output);

                }

                @Override
                public void onFailure(ServerFailure error) {

                }

            });

    return tags.size() + "";

}

e chamando essa função do JS assim:

public static native void exportStaticMethod() /*-{
    $wnd.computeLoanInterest =
    $wnd.getAutocomplete [email protected]::retriveLocation(Ljava/lang/String;);
}-*/;

e dentroonModuleLoad() Eu chamoexportStaticMethod().

e em html eu tenho um botão eu chamo onclickgetAutocomplete() como isso:

<input type="button" onclick="alert(getAutocomplete('j'))" value="momo" /> 

O problema é que o tamanho sempre retorna 0 porque o método é assíncrono, mas se eu pudesse retornar o valoronSuccess isso resolveria meu problema. Alguma idéia por favor? Eu pesquisei por 2 dias e não obtive resposta.

Em outras palavras:

Eu tenho o método JS eu preciso chamar o método java para recuperar dados do banco de dados, mas de forma síncrona!

Exemplo

Se eu tiver um botão HTML e ao clicar, passarei a ID para uma função e precisarei recuperar o nome do banco de dados via GWT e alertá-lo; simplesmente porque o GWT é assíncrono, eu não serei capaz de fazê-lo toda vez e quando eu alertar o resultado, será um vazio porque ainda não foi preenchido.

questionAnswers(4)

yourAnswerToTheQuestion