docs: @Override
     public ScatteredConsistentHash updateMembers(ScatteredConsistentHash baseCH, List<Address> actualMembers,
                                                Map<Address, Float> actualCapacityFactors) {
        if (actualMembers.size() == 0)
           throw new IllegalArgumentException("Can't construct a consistent hash without any members");
        checkCapacityFactors(actualMembers, actualCapacityFactors);
  
        boolean sameCapacityFactors = actualCapacityFactors == null ? baseCH.getCapacityFactors() == null :
              actualCapacityFactors.equals(baseCH.getCapacityFactors());
        if (actualMembers.equals(baseCH.getMembers()) && sameCapacityFactors)
           return baseCH;
  
        // The builder constructor automatically removes leavers
        Builder builder = new Builder(baseCH, actualMembers, actualCapacityFactors);
  
        return builder.build();
     }