@Override
  public Icon getIcon() {
    if (viewData.isCallGraphView()) {
      return CALLGRAPHS_ICON;
    }
    if (viewData.isFlowGraphView()) {
      final FlowGraphViewData flowGraphView = (FlowGraphViewData) viewData;
      if (flowGraphView.isMatched()) {
        if (flowGraphView.isMatchedIdentical()) {
          return FLOWGRAPHS_IDENTICAL_MATCHED_ICON;
        }
        if (flowGraphView.isChangedOnlyInstructions()) {
          return FLOWGRAPHS_INSTRUCTION_CHANGED_ONLY_ICON;
        }
        if (flowGraphView.isChangedStructural()) {
          return FLOWGRAPHS_STRUTURAL_CHANGED_ICON;
        }
      } else {
        if (flowGraphView.getRawGraph(ESide.PRIMARY) == null) {
          return FLOWGRAPH_SECONDARY_UNMATCHED_ICON;
        }
        if (flowGraphView.getRawGraph(ESide.SECONDARY) == null) {
          return FLOWGRAPH_PRIMARY_UNMATCHED_ICON;
        }
      }
    }
    return null;
  }
Tab sheet containing the graph views for flow and call graphs.
java/ui/src/main/java/com/google/security/zynamics/bindiff/gui/tabpanels/viewtabpanel/ViewTabPanel.java