def find(value)
      
      index = findIndex(value)
      return nil if ! index
      result = at(index)

      if index == 0
        offset = value
      else
        offset = value - result[1]
      end
      
      [index, result[0], result[1], result[2], offset]
    end
def find(value)
      
      index = findIndex(value)
      return nil if ! index
      result = at(index)

      if index == 0
        offset = value
      else
        offset = value - result[1]
      end
      
      [index, result[0], result[1], result[2], offset]
    end
Given a value, return a list of the form [index, value, left, right, offset] where
 index is the zero-based index in this map of the region, value is the associated object,
 left is the lowest value in the region, right is the highest, and offset is the
 offset within the region of the value.