public ComponentDetail enrich(final ComponentDetail node, final String lang) { return doEnrich("component", lang, patch -> { final ComponentDetail copy = new ComponentDetail(node.getId(), node.getDisplayName(), node.getIcon(), node.getType(), node.getVersion(), new ArrayList<>(), new ArrayList<>(node.getActions()), node.getInputFlows(), node.getOutputFlows(), node.getLinks()); patch.doPatchProperties(copy.getProperties(), node.getProperties()); patch.appendBuiltInActions(copy.getActions()); return copy; }).orElse(node); }