/**
  * Shifts the trees right of mark node
  *
  * @param mark to shift from
  * @param shift - factor by which to move right by.
  */
 private void shiftTreesRightOfMark(GXMoreThanNode mark, int shift) {
   mark.setLocation(mark.getX() + shift, mark.getY());
   GXMoreThanNode leftMostChild = getRightMostChild(mark);
   List<GXMoreThanNode> treeRoots =
       leftMostChild
           .getRow()
           .subList(leftMostChild.getRow().indexOf(leftMostChild), leftMostChild.getRow().size());
   for (GXMoreThanNode root : treeRoots) {
     shiftTree(root, shift);
   }
 }
 /**
  * Shifts the given tree by the shift factor given to the right.
  *
  * @param root - root of tree to shift
  * @param shift - factor to shirt by
  */
 private void shiftTree(GXMoreThanNode root, int shift) {
   root.setLocation(root.getX() + shift, root.getY());
   for (GXMoreThanNode child : root.getChildren()) {
     shiftTree(child, shift);
   }
 }