private void gotoTime(Long time) {
        if (time != null) {
            Long nearest = engine.getEvents().floorKey(time);
            if (nearest == null)
                nearest = nodes[0];
            index = Arrays.binarySearch(nodes, nearest);
            modelingTimeText.setText(nearest + "ns");
            status("Goto node #" + index + " at " + nodes[index] + "ns");
            displayer.updateUITables();
        } else {
            status(Messages.MODELING_TIME_DOESNT_CHANGED);
        }
        if(timeDiagramsWindow != null) timeDiagramsWindow.redrawTimeDiagrams(true);
    }