docs: public Comparator<Integer> comparator() {
          return new Comparator<Integer>() {
              @Override
              public int compare(Integer o1, Integer o2) {
                  Http2PriorityNode n1 = nodesByID.get(o1);
                  Http2PriorityNode n2 = nodesByID.get(o2);
                  if(n1 == null && n2 == null) {
                      return 0;
                  }
                  if(n1 == null) {
                      return -1;
                  }
                  if(n2 == null) {
                      return 1;
                  }
                  //do the comparison
                  //this is kinda crap, but I can't really think of any better way to handle this
  
                  double d1 = createWeightingProportion(n1);
                  double d2 = createWeightingProportion(n2);
                  return Double.compare(d1, d2);
              }
          };
      }