@Override public GraphMessagingContainer instanceFor(PrototypingContext prototypingContext) throws Xdi2MessagingException { // create new messaging container MessagingContainer messagingContainer = new GraphMessagingContainer(); // instantiate new graph Graph graph; try { String identifier = XdiPeerRoot.createPeerRootXDIArc(prototypingContext.getOwnerXDIAddress()).toString(); graph = this.getGraph().getGraphFactory().openGraph(identifier); if (log.isDebugEnabled()) log.debug("Opened graph " + graph.getClass().getCanonicalName() + " for " + identifier); } catch (IOException ex) { throw new Xdi2MessagingException("Cannot open graph: " + ex.getMessage(), ex, null); } ((GraphMessagingContainer) messagingContainer).setGraph(graph); // done return (GraphMessagingContainer) messagingContainer; }