public String render() { if (label == null) { return ""; } final StringBuffer out = new StringBuffer(); if (comment != null) { out.append(DotRenderer.withDotNewLine(comment)); } final List<String> cells = new ArrayList<String>(); cells.add(label); if (!stereotypes.isEmpty()) { cells.addAll(stereotypes); } final String content = DotRenderer.toLines(cells); final String wrapText = DotRenderer.wrapText(content, 20); out.append(DotRenderer.node(id, wrapText, options)); Iterator it = associations.iterator(); while (it.hasNext()) { AbstractAssociation abstractAssociation = (AbstractAssociation) it.next(); out.append(abstractAssociation.render()); } return out.toString(); }