docs: public static boolean equivalent(
        @Nullable ValueGraph<?, ?> graphA, @Nullable ValueGraph<?, ?> graphB) {
      if (graphA == graphB) {
        return true;
      }
      if (graphA == null || graphB == null) {
        return false;
      }
  
      if (graphA.isDirected() != graphB.isDirected()
          || !graphA.nodes().equals(graphB.nodes())
          || !graphA.edges().equals(graphB.edges())) {
        return false;
      }
  
      for (EndpointPair<?> edge : graphA.edges()) {
        if (!graphA
            .edgeValue(edge.nodeU(), edge.nodeV())
            .equals(graphB.edgeValue(edge.nodeU(), edge.nodeV()))) {
          return false;
        }
      }
  
      return true;
    }