private static List <Element> MakeGroup(List <Element> element_list) { List <Element> grouping_list = new List <Element>(); for (int i = 0; i < element_list.Count; ++i) { int j; for (j = i + 1; j < element_list.Count; ++j) { if (!element_list[j].IsContinue()) { break; } } if (j > i + 1) // Group を作る { ElementGroup group = new ElementGroup(); group.AddElementRange(element_list.GetRange(i, j - i)); grouping_list.Add(group); i = j - 1; } else // Group を作らない { grouping_list.Add(element_list[i]); } } return(grouping_list); }