}
private Index getPreferredIndex(
final FeatureDataAdapter adapter ) {
Index currentSelection = preferredIndexes.get(adapter.getType().getName().toString());
if (currentSelection != null) {
return currentSelection;
}
final boolean needTime = adapter.hasTemporalConstraints();
try (CloseableIterator<Index> indices = dataStore.getIndices()) {
boolean currentSelectionHasTime = false;
while (indices.hasNext()) {
final Index index = indices.next();
@SuppressWarnings("rawtypes")
final DimensionField[] dims = index.getIndexModel().getDimensions();
boolean hasLat = false;
boolean hasLong = false;
boolean hasTime = false;
for (final DimensionField<?> dim : dims) {
hasLat |= dim instanceof LatitudeField;