class DataFetcher {

  private static final String FILENAME = "world.txt";
  private long lastFetched;

  public DataFetcher() {
    this.lastFetched = -1;
  }

  private boolean isDirty(long fileLastModified) {
    if (lastFetched != fileLastModified) {
      lastFetched = fileLastModified;
      return true;
    }
    return false;
  }

  /**
   * Fetches data/content from raw file.
   *
   * @return List of strings
   */
  public List<String> fetch() {<FILL_FUNCTION_BODY>}
}

    var classLoader = getClass().getClassLoader();
    var file = new File(classLoader.getResource(FILENAME).getFile());

    if (isDirty(file.lastModified())) {
      LOGGER.info(FILENAME + " is dirty! Re-fetching file content...");
      try (var br = new BufferedReader(new FileReader(file))) {
        return br.lines().collect(Collectors.collectingAndThen(Collectors.toList(), List::copyOf));
      } catch (IOException e) {
        LOGGER.error("An error occurred: ", e);
      }
    }

    return List.of();
  
<no_super_class>