retryExecutor.cancel();
boolean requestedIsCode = checkFilePathIsCodeFile(requestedFilePath);
CodeGraphFreshnessImpl merged = CodeGraphFreshnessImpl.make();
CodeGraphFreshness serverFreshness = message.getFreshness();
CodeGraph libsSubgraph = data.getLibsSubgraph();
merged.setLibsSubgraph(this.freshness.getLibsSubgraph());
boolean libsSubgraphUpdated = false;
CodeBlock fileTree = data.getFileTree();
merged.setFileTree(this.freshness.getFileTree());
merged.setFileTreeHash(this.freshness.getFileTreeHash());
boolean fileTreeUpdated = false;
CodeGraph workspaceTree = data.getWorkspaceTree();
merged.setWorkspaceTree(this.freshness.getWorkspaceTree());
boolean workspaceTreeUpdated = false;
CodeGraph fullGraph = data.getFullGraph();
merged.setFullGraph(this.freshness.getFullGraph());
boolean fullGraphUpdated = false;
CodeReferences fileReferences = data.getFileReferences();
merged.setFileReferences(this.freshness.getFileReferences());
boolean fileReferencesUpdated = false;
if (!isNullOrEmpty(message.getLibsSubgraphJson())
&& compareFreshness(serverFreshness.getLibsSubgraph(), merged.getLibsSubgraph()) > 0) {
libsSubgraph = Jso.<CodeGraphImpl>deserialize(message.getLibsSubgraphJson());
merged.setLibsSubgraph(serverFreshness.getLibsSubgraph());
libsSubgraphUpdated = true;
}
if (!isNullOrEmpty(message.getFileTreeJson()) && requestedIsCode
&& isServerFileTreeMoreFresh(merged, serverFreshness)) {
fileTree = Jso.<CodeBlockImpl>deserialize(message.getFileTreeJson());
merged.setFileTree(serverFreshness.getFileTree());
merged.setFileTreeHash(serverFreshness.getFileTreeHash());
fileTreeUpdated = true;
}
if (!isNullOrEmpty(message.getWorkspaceTreeJson())
&& compareFreshness(serverFreshness.getWorkspaceTree(), merged.getWorkspaceTree()) > 0) {
workspaceTree = Jso.<CodeGraphImpl>deserialize(message.getWorkspaceTreeJson());
merged.setWorkspaceTree(serverFreshness.getWorkspaceTree());
workspaceTreeUpdated = true;
}
if (!isNullOrEmpty(message.getFullGraphJson())
&& compareFreshness(serverFreshness.getFullGraph(), merged.getFullGraph()) > 0) {
fullGraph = Jso.<CodeGraphImpl>deserialize(message.getFullGraphJson());
merged.setFullGraph(serverFreshness.getFullGraph());
fullGraphUpdated = true;
}
if (!isNullOrEmpty(message.getFileReferencesJson())
&& compareFreshness(serverFreshness.getFileReferences(), merged.getFileReferences()) > 0) {
fileReferences = Jso.<CodeReferencesImpl>deserialize(message.getFileReferencesJson());
merged.setFileReferences(serverFreshness.getFileReferences());
fileReferencesUpdated = true;
}
if (!requestedFilePath.equals(activeFilePath)) {
fileTree = null;