def _create_combined_set(words, startindex):
    """
    Combines a single string wrapped in parenthesis from a list of words.
    Example: ['feature1', 'or', '(feature2', 'and', 'feature3)'] -> '(feature2 and feature3)'
    :param words: List of words
    :param startindex: Index of starting parenthesis.
    :return: string
    """
    counter = 0
    for i, word in enumerate(words[startindex:]):
        if ')' in word and counter == 0:
            return ' '.join(words[startindex:startindex + i + 1]), i
        elif ')' in word and counter != 0:
            amount = word.count(')')
            counter -= amount
        if '(' in word:
            counter += word.count('(')
        if counter == 0:
            return ' '.join(words[startindex:startindex + i + 1]), i
    return None, 0
