super.processLowLevelEvent(action, values);
processKeyEvents(values);
    public void processLowLevelEvent(String action, String[] values) {        super.processLowLevelEvent(action, values);        getSelectionModel().setDelayEvents(true);        for (int i = 0; i < values.length; i++) {            if (values[i].length() < 2) continue; // incorrect format            int row = Integer.parseInt(values[i].substring(1));            if (row < 0) continue; // row not found...            if (values[i].charAt(0) == 'b') {                TreePath path = getPathForRow(row);                //selection                if (path != null) {                    togglePathSelection(path);                }            } else if (values[i].charAt(0) == 'h') {                TreePath path = getPathForRow(row);                //selection                if (path != null) {                    requestedExpansionPaths.add(path);                }            } else if (values[i].charAt(0) == 'a') {                TreePath path = getPathForAbsoluteRow(row);                //selection                if (path != null) {                    togglePathSelection(path);                }            } else if (values[i].charAt(0) == 'j') {                TreePath path = getPathForAbsoluteRow(row);                //selection                if (path != null) {                    requestedExpansionPaths.add(path);                }            }        }        SForm.addArmedComponent(this);        getSelectionModel().setDelayEvents(false);    }