Ну вариантов-то миллион, и у каждого свой. Самое простое — если веток, на которые должен разойтись проект 2:
string input = "blablabla trulala";
//проверяем на вхождение текста
if(input.Contains("blablabla")) return 1; // выход по зеленой
else throw new Exception("Input not contains blalblabla"); //выход по красной
Проверяем на точное вхождение:
string input = "blablabla";
//проверяем на точное вхождение
if(input == "blablabla") return 1; // выход по зеленой
else throw new Exception("Input not blalblabla"); //выход по красной
Если в зависимости от значения переменной ветвлений болше 2-х — тут тоже море вариантов:
string input = "blablabla";
//переменная проекта для выбора дальнейших действий — project.Variables["action"].Value
if(input == "blablabla") project.Variables["action"].Value = "1";
else if(input == "blublu") project.Variables["action"].Value = "2";
else if(input == "bablo") project.Variables["action"].Value = "3";
Следом ставим свитч, и в зависимости от значения переменной project.Variables["action"].Value переходи м к соответствующей ветке. Повторюсь — это лишь один из примеров логики ветвления проекта в зависимости от значения переменной