@Override
  protected String getNodeTip(final Node node) {
    final CombinedGraph combinedGraph = (CombinedGraph) getGraph();
    final ZyGraph2DView view = (ZyGraph2DView) combinedGraph.getView();

    if (CTooltipUpdater.isProximityNode(combinedGraph, node)) {
      final IZyNodeRealizer realizer = (IZyNodeRealizer) combinedGraph.getGraph().getRealizer(node);
      return TooltipGenerationHelper.generateProximityNodeTooltip(
          Fonts.NORMAL_FONT.getName(), (ZyProximityNode<?>) realizer.getUserData().getNode());
    }

    if (view.isNodeSloppyPaintMode()) {
      final SingleDiffNode priDiffNode = combinedGraph.getNode(node).getPrimaryDiffNode();
      final SingleDiffNode secDiffNode = combinedGraph.getNode(node).getSecondaryDiffNode();

      if (secDiffNode == null) {
        final ZyLabelContent nodeContent = priDiffNode.getRealizer().getNodeContent();
        return HtmlGenerator.getHtml(nodeContent, Fonts.NORMAL_FONT.getName(), false, true);
      }
      if (priDiffNode == null) {
        final ZyLabelContent nodeContent = secDiffNode.getRealizer().getNodeContent();
        return HtmlGenerator.getHtml(nodeContent, Fonts.NORMAL_FONT.getName(), false, true);
      }
      return TooltipGenerationHelper.generateCombinedNodeTooltip(
          Fonts.NORMAL_FONT.getName(), priDiffNode, secDiffNode, 0, 0);
    }
    return null;
  }
EditMode for combined graphs that handles combined node/edge tooltip generation.
java/ui/src/main/java/com/google/security/zynamics/bindiff/graph/editmode/CombinedGraphEditMode.java