@Override public void setDisplayedBreadcrumbTrail(@Nonnull List<Breadcrumb> path) { this.removeAll(); if(path.isEmpty()) { this.validate(); this.repaint(); return; } OWLObject firstBreadcrumb = path.get(0).getObject(); // Don't display obvious top entities as this justs wastes valuable horizontal space int skip = firstBreadcrumb.isTopEntity() ? 1 : 0; path.stream() .skip(skip) .map(breadcrumb -> { String rendering = workspace.getOWLModelManager().getRendering(breadcrumb.getObject()); String displayText = stripSingleQuotes(rendering); BreadcrumbView breadcrumbView = new BreadcrumbViewImpl(breadcrumb.getObject(), displayText); breadcrumbView.setViewClickedHandler(owlObject -> breadcrumbClickHandler.handleClicked(breadcrumb)); return breadcrumbView; }) .forEach(v -> this.add(v.asJComponent())); this.validate(); this.repaint(); }