@Override public FileData getFileData() { FileData fileData = super.getFileData(); if (fileData == null) { Repository repository = getRepository(); if (isRepositoryVersionable()) { // In the case of FolderRepository we can retrieve FileData using check()/checkHistory() for a folder. try { if (!isHistoric() || isLastVersion()) { fileData = repository.check(getFolderPath()); if (fileData == null) { fileData = new LazyFileData(getFolderPath(), getHistoryVersion(), this); } } else { fileData = repository.checkHistory(getFolderPath(), getHistoryVersion()); } } catch (IOException ex) { throw new IllegalStateException(ex); } } else { fileData = new LazyFileData(getFolderPath(), getHistoryVersion(), this); } setFileData(fileData); } return fileData; }