code: public static Range sum(Range range1, Range range2) {
          if (range1.getMinimum().doubleValue() <= range2.getMinimum().doubleValue()) {
              if (range1.getMaximum().doubleValue() >= range2.getMaximum().doubleValue()) {
                  return range1;
              } else {
                  return range(range1.getMinimum().doubleValue(), range2.getMaximum().doubleValue());
              }
          } else {
              if (range1.getMaximum().doubleValue() >= range2.getMaximum().doubleValue()) {
                  return range(range2.getMinimum().doubleValue(), range1.getMaximum().doubleValue());
              } else {
                  return range2;
              }
          }
          
      }
docs: Determines the range that can contain both ranges. If one of the
  ranges in contained in the other, the bigger range is returned.
  
  @param range1 a range
  @param range2 another range
  @return the bigger range