code: def destination(self, point, bearing, distance=None):
          
          point = Point(point)
          lat1 = units.radians(degrees=point.latitude)
          lng1 = units.radians(degrees=point.longitude)
          bearing = units.radians(degrees=bearing)
  
          if distance is None:
              distance = self
          if isinstance(distance, Distance):
              distance = distance.kilometers
  
          d_div_r = float(distance) / self.RADIUS
  
          lat2 = asin(
              sin(lat1) * cos(d_div_r) +
              cos(lat1) * sin(d_div_r) * cos(bearing)
          )
  
          lng2 = lng1 + atan2(
              sin(bearing) * sin(d_div_r) * cos(lat1),
              cos(d_div_r) - sin(lat1) * sin(lat2)
          )
  
          return Point(units.degrees(radians=lat2), units.degrees(radians=lng2))
docs: TODO docs.