public override NLGElement BuildElement() { // The CoreNLP constituency parser may return a clause with no predicate, or no subjects. // If that happened, it should have been taken care of during the Configure() process. // Once we get to this point, assume we have a predicate and at least one subject. Clause.subj = Subjects.Select(subject => subject.BuildElement()).ToArray(); Clause.vp = PredicateBuilder.BuildElement(); return(Clause); }