public List <RevitFunctionModel> Analize(string formula) { if (!formula.Contains(openingBracket) || !formula.Contains(closingBracket)) { var function = new RevitFunctionModel(RevitEnums.FunctionType.SimpleFunction); function.AddArgument(formula); return(new List <RevitFunctionModel>() { function }); } List <RevitFunctionModel> revitFunctionsInFormula = GetFunctionsInFormula(formula); List <RevitFunctionsPositionModel> bracketsPosList = GetBracketsPosList(formula); CountCommas(formula, revitFunctionsInFormula); return(AssignFunctions(bracketsPosList, revitFunctionsInFormula)); }