@Override public void indexingStarted(@Nonnull final Vocabulary vocabulary) { if (this.operationsInProgress.incrementAndGet() == 1) { this.data = new HashMap<>(); try (BufferedReader in = new BufferedReader( new InputStreamReader( new URL(getAnnotationSource()).openConnection().getInputStream(), StandardCharsets.UTF_8))) { CSVFormat parser = setupCSVParser(vocabulary); for (final CSVRecord row : parser.parse(in)) { processCSVRecordRow(row, vocabulary); } } catch (final IOException ex) { this.logger.error("Failed to load annotation source: {}", ex.getMessage()); } } }