class IntervalTree::Tree

def ensure_exclusive_end(ranges, range_factory)

def ensure_exclusive_end(ranges, range_factory)
  ranges.map do |range|
    case
    when !range.respond_to?(:exclude_end?)
      range
    when range.exclude_end?
      range
    else
      range_factory.call(range.first, range.end)
    end
  end
end