public void start() {
        Action newAction = new Action(x, y, z, getCurrAction(), 2, diskCount);
        actions.push(newAction);
        if (!TowersOfHanoi.repaintAndWait()) {return;}

        if (recursive(x, y, z, diskCount)) {
            TowersOfHanoi.solved = true;
            String execTime = TowersOfHanoi.getExecTime();
            TowersOfHanoi.addLog(String.format("Sprendimas baigtas per %s.\n", execTime), true);
        }

        if (!TowersOfHanoi.repaintAndWait()) {return;}
        actions.pop();
    }