public WorkspaceCache call() throws Exception {
// Create/get the Infinispan workspaceCache that we'll use within the WorkspaceCache, using the
// workspaceCache manager's
// default configuration ...
Cache<NodeKey, CachedNode> nodeCache = cacheForWorkspace(name);
ExecutionContext context = context();
// Compute the root key for this workspace ...
String workspaceKey = NodeKey.keyForWorkspaceName(name);
NodeKey rootKey = new NodeKey(sourceKey, workspaceKey, rootNodeId);
// Create the root document for this workspace ...
EditableDocument rootDoc = Schematic.newDocument();
DocumentTranslator trans = new DocumentTranslator(context, documentStore, Long.MAX_VALUE);
trans.setProperty(rootDoc,
context.getPropertyFactory().create(JcrLexicon.PRIMARY_TYPE, ModeShapeLexicon.ROOT),
null, null);
trans.setProperty(rootDoc, context.getPropertyFactory().create(JcrLexicon.UUID, rootKey.toString()),
null, null);
WorkspaceCache workspaceCache = new WorkspaceCache(context, getKey(), name, systemWorkspaceCache,
documentStore, translator, rootKey, nodeCache,
changeBus);