/**
   * This instantiates the SpatialFieldBridge from a {@code Spatial} annotation.
   *
   * @param spatial the {@code Spatial} annotation
   * @param clazz the {@code XClass} on which the annotation is defined on
   * @return Returns the {@code SpatialFieldBridge} instance
   * @param latitudeField a {@link java.lang.String} object.
   * @param longitudeField a {@link java.lang.String} object.
   */
  public FieldBridge buildSpatialBridge(
      Spatial spatial, XClass clazz, String latitudeField, String longitudeField) {
    FieldBridge bridge;
    try {
      bridge = SpatialBridgeProvider.buildSpatialBridge(spatial, latitudeField, longitudeField);
    } catch (Exception e) {
      throw LOG.unableToInstantiateSpatial(clazz.getName(), e);
    }
    if (bridge == null) {
      throw LOG.unableToInstantiateSpatial(clazz.getName(), null);
    }

    return bridge;
  }