### Question:
SessionCache { public JcrRootNode findJcrRootNode() throws RepositoryException { return (JcrRootNode)graphSession.getRoot().getPayload().getJcrNode(); } SessionCache( JcrSession session );  SessionCache( JcrSession session,
                         String workspaceName,
                         ExecutionContext context,
                         JcrNodeTypeManager nodeTypes,
                         Graph store ); void refresh( boolean keepChanges ); void refresh( NodeId nodeId,
                         Path absolutePath,
                         boolean keepChanges ); void refreshProperties( Location location ); void save(); void save( NodeId nodeId,
                      Path absolutePath ); Node<JcrNodePayload, JcrPropertyPayload> findNode( NodeId id,
                                                              Path absolutePath ); Node<JcrNodePayload, JcrPropertyPayload> findNodeWith( Location location ); Node<JcrNodePayload, JcrPropertyPayload> findNode( NodeId from,
                                                              Path fromAbsolutePath,
                                                              Path relativePath ); JcrRootNode findJcrRootNode(); AbstractJcrNode findJcrNode( Location location ); AbstractJcrNode findJcrNode( NodeId id,
                                        Path absolutePath ); AbstractJcrNode findJcrNode( NodeId from,
                                        Path fromAbsolutePath,
                                        Path relativePath ); AbstractJcrProperty findJcrProperty( NodeId id,
                                                Path absolutePath,
                                                Name propertyName ); Collection<AbstractJcrProperty> findJcrPropertiesFor( NodeId id,
                                                                 Path absolutePath ); AbstractJcrItem findJcrItem( NodeId from,
                                        Path fromAbsolutePath,
                                        Path relativePath ); final boolean isNodeType( Node<JcrNodePayload, JcrPropertyPayload> node,
                                     Name nodeType ); boolean isReferenceable( Node<JcrNodePayload, JcrPropertyPayload> node ); boolean isVersionable( Node<JcrNodePayload, JcrPropertyPayload> node ); NodeEditor getEditorFor( Node<JcrNodePayload, JcrPropertyPayload> node ); NodeEditor getEditorFor( NodeId id,
                                    Path absolutePath );  }### Answer:
@Test public void shouldRepeatedlyFindRootNode() throws Exception { AbstractJcrNode root = cache.findJcrRootNode(); for (int i = 0; i != 10; ++i) { AbstractJcrNode node = cache.findJcrRootNode(); assertThat(node, is(sameInstance(root))); assertMatchesStore(node); } }