/// <summary> /// Appends expression members from the specified list of ExpressionMemebers to the specified list of ExpressionMemberContainers /// </summary> /// <param name="what"></param> /// <param name="where"></param> private static void Append(MissionStatement statement, List <ExpressionMember> what, List <ExpressionMemberContainer> where) { foreach (ExpressionMember item in what) { ExpressionMemberContainer nEMC = new ExpressionMemberContainer(item, statement); where.Add(nEMC); if (item as ExpressionMemberCheck == null) { continue; } string key = nEMC.Decide(); List <ExpressionMember> toAppend = ((ExpressionMemberCheck)item).PossibleExpressions[key]; Append(statement, toAppend, where); } }