in vault-connection/src/jetbrains/buildServer/buildTriggers/vcs/vault/impl/VaultConnectionImpl.java [57:90]
public File getObject(@NotNull String path, @NotNull String version) throws VcsException {
final File cached = getCachedFile(path, version);
if (cached.isFile()) {
return cached;
} else {
FileUtil.delete(cached);
if (isExistingFile(path)) {
final Long fileVersion = getFileDisplayVersion(path, version);
if (fileVersion == null) {
return getObjectFromParent(cached.getName(), getObject(getRepoParentPath(path), version));
} else {
getObject(path, fileVersion, false, cached);
return cached.exists() ? cached : null;
}
} else if (isExistingFolder(path)) {
final Long folderVersion = getFolderDisplayVersion(path, version);
if (folderVersion == null) {
return getObjectFromParent(cached.getName(), getObject(getRepoParentPath(path), version));
} else {
getObject(path, folderVersion, true, cached);
return cached.exists() ? cached : null;
}
} else {
return getObjectFromParent(cached.getName(), getObject(getRepoParentPath(path), version));
}
}
}