private void readFileNames() throws IOException {
		File f = new File(new File(path), FILE_NAMES);
		if (!f.exists()) {
			f = new File(new File(path), ANNOTATIONS_BINARY_FILE);
			if (f.exists()) {
				if (!f.isFile()) {
					throw new RuntimeException("Not a file: " + f.getAbsolutePath());
				}
				if (!f.delete()) {
					throw new RuntimeException("Cannot delete file: " + f.getAbsolutePath());
				}
			}
			return;
		}
		BufferedReader inp = new BufferedReader(new InputStreamReader(new FileInputStream(f)));
		while (true) {
			String line = inp.readLine();
			if (line == null) {
				break;
			}
			if (line.length() > 0) {
				FileVersion version = new FileVersion(line);
				addNewFileVersion(version);
			}
		}
		inp.close();
	}