public final void setStatus(final Status STATUS) {
        if (null == status) {
            _status = STATUS;
        } else {
            status.set(STATUS);
        }
        if (Status.DESELECTED == STATUS) {
            fireSelectionEvent(new SelectionEvent(getStatus(), this, null, SelectionEvent.DESELECTED));
        } else if (Status.SELECTED == STATUS) {
            fireSelectionEvent(new SelectionEvent(getStatus(), this, null, SelectionEvent.SELECTED));
        } else if (Status.EMPTY == STATUS) {
            fireSelectionEvent(new SelectionEvent(getStatus(), this, null, SelectionEvent.EMPTY));
        }
    }