code: def destination(self, point, bearing, distance=None):
          
          point = Point(point)
          lat1 = point.latitude
          lon1 = point.longitude
          azi1 = bearing
  
          if distance is None:
              distance = self
          if isinstance(distance, Distance):
              distance = distance.kilometers
  
          if not (isinstance(self.geod, Geodesic) and
                  self.geod.a == self.ELLIPSOID[0] and
                  self.geod.f == self.ELLIPSOID[2]):
              self.geod = Geodesic(self.ELLIPSOID[0], self.ELLIPSOID[2])
  
          r = self.geod.Direct(lat1, lon1, azi1, distance,
                               Geodesic.LATITUDE | Geodesic.LONGITUDE)
  
          return Point(r['lat2'], r['lon2'])
docs: TODO docs.