checkModification();
int parentIndex = getUnderIndex(under);
if (parentIndex >= 0) {
int underParentIndex = getPathIndexAtDepth(parentIndex, myDepths.get(index));
if (underParentIndex == index) {
throw new StructureException(StructureError.INVALID_MOVE, null, under,
this + ": cannot move " + issue + " (index " + index + ") under " + under);
}
}
Forest forest = removeSubtreeAtIndex(index);
assert forest != null;