public static List <string> ParseOperation(string rawOperation)
    {
        List <string> splitOperation = new List <string>();
        string        buffer         = "";

        CSParsingTool.ReadOperation(splitOperation, rawOperation, buffer, 0);
        Debug.Log(splitOperation.Count);
        return(splitOperation);
    }
    private static void ReadOperation(List <string> splitOperation, string rawOperation, string buffer, int index)
    {
        if (index >= rawOperation.Length)
        {
            return;
        }
        char read = rawOperation[index++];

        if (read == ' ' || read == '+' || read == ';')
        {
            if (!CSParsingTool.IsNullOrEmptyOrBlank(buffer))
            {
                splitOperation.Add(buffer.Trim());
                buffer = "";
            }
        }
        buffer += read;
        CSParsingTool.ReadOperation(splitOperation, rawOperation, buffer, index);
    }