class TailableFile implements Closeable {

    private void restoreState(Properties state) throws IOException {
        long position = Long.parseLong(state.getProperty("position", "0"));
        long creationTime = Long.parseLong(state.getProperty("creationTime", Long.toString(getCreationTime(file.toPath()))));
        long inode = Long.parseLong(state.getProperty("inode", Long.toString(getInode(file.toPath()))));
        if (hasRotated(creationTime, inode)) {
            openRotatedFile(position, creationTime, inode);
        } else {
            openExistingFile(position, file.toPath());
        }
    }

    public  TailableFile(File file);

}