Java Jinput: rescan / reload controllers

Estou usando javajinput biblioteca para ler dados do joypad, e eu tenho problemas para recarregarControllers, Eu uso isso para carregá-los:

public Controller[] findStickControllers() {
    ControllerEnvironment ce =
            ControllerEnvironment.getDefaultEnvironment();

    Controller[] cs = ce.getControllers();

    System.out.println(cs.length); //test

    ArrayList<Controller> sel = new ArrayList<>();

    for (Controller c: cs) {
        if(c.getType() == Type.STICK) {
            sel.add(c);
        }
    }

    return sel.toArray(new Controller[]{});
}

Isso funciona bem, mas se eu desconectar o meu controlador, chamando isso vai encontrá-lo novamente, e vice-versa (conectá-lo após a primeira verificação não vai encontrá-lo em tudo).

Eu tentei colocar o sono antes da primeira consulta, com estes resultados:

Os controladores são verificados de forma prática quando esse método é chamado pela primeira vez (não no início do programa)Quando chamado novamente, isso sempre retorna os mesmos controladores que retornaram pela primeira vez.Primeira chamada também irá escrever aviso abaixoMesmo quando o controlador está conectado (e funciona), em seguida, desconectado (ele ainda vai encontrá-lo embora) e reconectado, ele não vai funcionar

Aviso do ponto 3: (não formatou bem na lista)

WARNING: Found unknown Windows version: Windows 8
Attempting to use default windows plug-in.
Loading: net.java.games.input.DirectAndRawInputEnvironmentPlugin

Eu estou usando o Win 8, e tive o mesmo problema no Win 7. Eu também tentei isso com o mouse, os mesmos resultados.

Como posso recarregar os controladores para o segundo, terceiro e assim por diante?

questionAnswers(4)

yourAnswerToTheQuestion