changeChildAtLevel method
Implementation
DeepNavigationNode<T> changeChildAtLevel(
int changeLevel, DeepNavigationNode<T> newChild) {
if (changeLevel <= level) {
throw ArgumentError(
'Cannot change child at a level less than mine: $changeLevel My Level: $level)!');
}
if (changeLevel - 1 == level) {
return setChild(newChild);
}
if (child == null) {
throw ArgumentError(
'No child at ${level + 1} so cannot change at $changeLevel');
}
return createCopy(
newChild: child!.changeChildAtLevel(changeLevel, newChild));
}