docs: private static double nodeFragmentWeight(Node node) {
          double costFragmentsWithoutDependency = node.getFragmentsWithoutDependency().stream()
                  .mapToDouble(Fragment::fragmentCost).sum();
          double costFragmentsWithDependencyVisited = node.getFragmentsWithDependencyVisited().stream()
                  .mapToDouble(Fragment::fragmentCost).sum();
          double costFragmentsWithDependency = node.getFragmentsWithDependency().stream()
                  .mapToDouble(Fragment::fragmentCost).sum();
          return costFragmentsWithoutDependency + node.getFixedFragmentCost() +
                  (costFragmentsWithDependencyVisited + costFragmentsWithDependency) / 2D;
      }