@Override
  protected @Nullable BufferedReader updateReaderIfNeeded(@Nullable BufferedReader reader) throws IOException {
    if (reader == null) {
      return null;
    }

    FileSnapshot snapshot = new FileSnapshot();
    if (myOldSnapshot.rolloverDetected(snapshot)) {
      reader.close();
      //noinspection IOResourceOpenedButNotSafelyClosed
      reader = new BufferedReader(new InputStreamReader(Files.newInputStream(myFile.toPath()), myCharset));
    }
    myOldSnapshot = snapshot;
    return reader;
  }
@Override
  protected @Nullable BufferedReader updateReaderIfNeeded(@Nullable BufferedReader reader)