docs: static void applyNoHopping(List<NodeInfo> order) {
          if (isIllegalHoppingSpecified(order) == true) {
              ArrayList<NodeInfo> cvpNodeInfos = new ArrayList<>();
  
              // pull those out of the position list from the CVP
              for (int i = order.size() - 1; i >= 0; i--)
                  if (order.get(i).getIndexInCVP() != -1) cvpNodeInfos.add(order.remove(i));
  
              // what is left is coming from other parents. Now push them back in
              // in the order specified in the CVP
  
              NodeInfo[] nodeInfos = cvpNodeInfos.toArray(new NodeInfo[cvpNodeInfos.size()]);
              Arrays.sort(nodeInfos, new NodeInfoComparator());
              List<NodeInfo> list = Arrays.asList(nodeInfos);
              order.addAll(0, list);
          }
      }