docs: def advance(self, myDateTime):
      """
      Advances to the next value and returns an appropriate value for the given
      time.
      :param myDateTime: (datetime) when to fetch the value for 
      :return: (float|int) value for given time
      """
      if self.getTime() == myDateTime:
        out =  self.next()
        # Sometimes, the stream has no value for this field and returns None, in 
        # this case we'll use the last value as well.
        if out is None:
          out = self.last()
      else:
        out = self.last()
      # If there's no more data, we must fetch more
      if len(self) is 0:
        self._fetchNextData()
      
      self._updateMinMax(out)
      
      if isinstance(out, float):
        self._dataType = "float"
      
      # Convert to proper data type
      if self._dataType is "float":
        out = float(out)
      else:
        out = int(out)
  
      return out