docs: public Set<IndexFieldTypesDTO> poll(final IndexSet indexSet, final Set<IndexFieldTypesDTO> existingIndexTypes) {
          final String activeWriteIndex = indexSet.getActiveWriteIndex();
          final Set<String> existingIndexNames = existingIndexTypes.stream()
                  .map(IndexFieldTypesDTO::indexName)
                  .collect(Collectors.toSet());
  
          return indices.getIndices(indexSet, "open").stream()
                  // We always poll the active write index because the mapping can change for every ingested message.
                  // Other indices will only be polled if we don't have the mapping data already.
                  .filter(indexName -> indexName.equals(activeWriteIndex) || !existingIndexNames.contains(indexName))
                  .map(indexName -> pollIndex(indexName, indexSet.getConfig().id()))
                  .filter(Optional::isPresent)
                  .map(Optional::get)
                  .collect(Collectors.toSet());
      }