}
}
}
private Element createDisjunctiveElement(DLFContext context) {
LFVertex alias = vertexAliases.get(context.vertex);
String vertexName = nameFor(context.vertex);
boolean imported = importedVertices.contains(context.vertex);
Element newNode = document.createElement(NODE_TAG);
context.parent.appendChild(newNode);
DLFContext localContext = context.copy();
localContext.parent = newNode;
Set<LFVertex> locals = localContext.getVertices(LOCAL_ANCESTOR),
visited = localContext.getVertices(VISITED);
if(locals.contains(localContext.vertex)
|| (alias != null && visited.contains(localContext.vertex))) {
LFVertex v = (alias == null) ? localContext.vertex : alias;
localContext.parent.setAttribute(IDREF_ATTR, nameFor(v));
if(visited.contains(localContext.vertex)
&& localContext.getVertices(SHARED).contains(v) && !locals.contains(v)) {
localContext.parent.setAttribute(SHARED_ATTR, "true");