deepCopy method

TreeElement deepCopy({
  1. required bool includeTemplates,
})

A deep copy, leaving out repeat templates unless includeTemplates.

Implementation

TreeElement deepCopy({required bool includeTemplates}) {
  final copy = shallowCopy().._children.clear();
  for (final child in _children) {
    if (includeTemplates ||
        child.multiplicity != TreeReference.indexTemplate) {
      copy.addChild(child.deepCopy(includeTemplates: includeTemplates));
    }
  }
  return copy;
}