@Override
    public boolean skip(int depth, String[] choices) {
        if ( null != inclusions && 0 < inclusions.length ) {
            boolean skip = true;
            for ( IConstraint inclusion : inclusions ) {
                skip &= inclusion.skip(depth, choices);
            }
            if ( skip ) {
                return true;
            }
        }
        if ( null != exclusions && 0 < exclusions.length ) {
            for ( IConstraint exclusion : exclusions ) {
                if ( exclusion.skip(depth, choices) ) {
                    return true;
                }
            }
        }
        return false;
    }