protected ArrowGraphBuilderBase( Graph <T, TActivity, TEvent> graph, Func <T> edgeIdGenerator, Func <T> nodeIdGenerator, Func <T, TEvent> eventGenerator) : base(graph, edgeIdGenerator, nodeIdGenerator, eventGenerator) { // Check Start and End nodes. if (StartNodes.Count() == 1) { StartNode = StartNodes.First(); } else { throw new ArgumentException(Properties.Resources.ArrowGraphContainsMoreThanOneStartNode); } if (EndNodes.Count() == 1) { EndNode = EndNodes.First(); } else { throw new ArgumentException(Properties.Resources.ArrowGraphContainsMoreThanOneEndNode); } }