code: private List<Map.Entry<Sentence, Map.Entry<Integer, Integer>>> getRelevantSentences(List<String> inputs, String token, int maxSentences) throws IOException {
      List<Map.Entry<Sentence, Map.Entry<Integer, Integer>>> sentences = new ArrayList<>();
      for (String input : inputs) {
        if (new File(input).isDirectory()) {
          File file = new File(input, token + ".txt");
          if (!file.exists()) {
            throw new RuntimeException("File with example sentences not found: " + file);
          }
          try (FileInputStream fis = new FileInputStream(file)) {
            SentenceSource sentenceSource = new PlainTextSentenceSource(fis, language);
            sentences = getSentencesFromSource(inputs, token, maxSentences, sentenceSource);
          }
        } else {
          SentenceSource sentenceSource = MixingSentenceSource.create(inputs, language);
          sentences = getSentencesFromSource(inputs, token, maxSentences, sentenceSource);
        }
      }
      return sentences;
    }
docs: TODO deduplicate / delegate