code: @Override
      public List<IndexableField> indexableFields(Columns columns) {
  
          Double lon = readLongitude(columns);
          Double lat = readLatitude(columns);
  
          if (lon == null && lat == null) {
              return Collections.emptyList();
          } else if (lat == null) {
              throw new IndexException("Latitude column required if there is a longitude");
          } else if (lon == null) {
              throw new IndexException("Longitude column required if there is a latitude");
          }
  
          Point point = CONTEXT.makePoint(lon, lat);
  
          return Arrays.asList(strategy.createIndexableFields(point));
      }
docs: {@inheritDoc}