def validate_inner_strings(line_part):
    """
    Checking the line_part to be of structure "a param", 'another param', ...

    Returns the found params or None if wrong line_part
    """
    PARAMS_START = 1
    STRING_INNER = 2
    STRING_AFTER = 4
    STRING_BETWEEN = 8
    quots = '\'"'
    params = []
    wrong = None
    line_part = line_part.strip()
    if not line_part:
        return params
    check_position = 0
    state = PARAMS_START
    taken_string = ''
    string_opened = ''
    line_part_len = len(line_part)
    while True:
        if check_position == line_part_len:
            if state not in [PARAMS_START, STRING_AFTER]:
                return wrong
            return params
        check_char = usage_char = line_part[check_position]
        check_position += 1
        if (STRING_INNER == state and check_char == '\\' and check_position <
            line_part_len):
            usage_char += line_part[check_position]
            check_char = '_'
            check_position += 1
        if PARAMS_START == state:
            if check_char not in quots:
                return wrong
            string_opened = check_char
            state = STRING_INNER
            continue
        if STRING_INNER == state:
            if check_char == string_opened:
                state = STRING_AFTER
                params.append(taken_string)
                taken_string = ''
                continue
            taken_string += usage_char
            continue
        if STRING_AFTER == state:
            if check_char in ' \t':
                continue
            if check_char == ',':
                state = STRING_BETWEEN
                continue
            return wrong
        if STRING_BETWEEN == state:
            if check_char in ' \t':
                continue
            if check_char in quots:
                string_opened = check_char
                state = STRING_INNER
                continue
            return wrong
