@staticmethod
def split_line(line):
    """
		Split line using ; as separator char
		considering single quotes as a way to delimit
		tokens. (in particular to enable using char ; inside a token)
		"""
    tokens = []
    token = ''
    in_qoutes = False
    in_dqoutes = False
    for char in line:
        if char == '"' and not in_qoutes:
            in_dqoutes = not in_dqoutes
        elif char == "'" and not in_dqoutes:
            in_qoutes = not in_qoutes
        elif char == ';' and not in_qoutes and not in_dqoutes:
            tokens.append(token)
            token = ''
        else:
            token += char
    if token.strip() != '':
        tokens.append(token)
    return tokens
