private Options(Option... options) {
        this.options = options == null ? new Option[0] : options;

        // Only do something if we have to ...
        if (this.options.length > 0) {
            // Setup additional structures
            this.onFailures = new LinkedList<OnFailure>();

            // Process all options
            for (Option option : this.options) {
                if (option instanceof OnFailure) {
                    this.onFailures.add((OnFailure) option);
                }
                
                if (option instanceof InvertSelection) {
                    this.invert = !this.invert;
                }
                
                if (option instanceof KillSwitch) {
                    this.killswitch = (KillSwitch) option;
                }
                
                if (option instanceof ID) {
                    this.id = (ID) option;
                }
            }
        }
    }