@Test public void testFromEdgesAsymmetric() { fromEdges(ImmutableSet.of(new Layer2Edge("node1", "i", null, "node2", "i", null, null))); }
@VisibleForTesting static @Nonnull Layer2Topology fromEdges(Set<Layer2Edge> edges) { Builder builder = builder(); edges.forEach(builder::addEdge); return builder.build(); }
Layer2Topology { @VisibleForTesting static @Nonnull Layer2Topology fromEdges(Set<Layer2Edge> edges) { Builder builder = builder(); edges.forEach(builder::addEdge); return builder.build(); } }
Layer2Topology { @VisibleForTesting static @Nonnull Layer2Topology fromEdges(Set<Layer2Edge> edges) { Builder builder = builder(); edges.forEach(builder::addEdge); return builder.build(); } private  Layer2Topology(Map<Layer2Node, Layer2Node> representativeByNode); }
Layer2Topology { @VisibleForTesting static @Nonnull Layer2Topology fromEdges(Set<Layer2Edge> edges) { Builder builder = builder(); edges.forEach(builder::addEdge); return builder.build(); } private  Layer2Topology(Map<Layer2Node, Layer2Node> representativeByNode); static Builder builder(); static @Nonnull Layer2Topology fromDomains(Collection<Set<Layer2Node>> domains); @Nonnull Optional<Layer2Node> getBroadcastDomainRepresentative(Layer2Node layer2Node); @Nonnull Optional<Layer2Node> getBroadcastDomainRepresentative(
      String hostname, String interfaceName); boolean inSameBroadcastDomain(Layer2Node n1, Layer2Node n2); boolean inSameBroadcastDomain(NodeInterfacePair i1, NodeInterfacePair i2); boolean inSameBroadcastDomain(String host1, String iface1, String host2, String iface2); @JsonIgnore boolean isEmpty(); @Override boolean equals(@Nullable Object obj); @Override int hashCode(); }
Layer2Topology { @VisibleForTesting static @Nonnull Layer2Topology fromEdges(Set<Layer2Edge> edges) { Builder builder = builder(); edges.forEach(builder::addEdge); return builder.build(); } private  Layer2Topology(Map<Layer2Node, Layer2Node> representativeByNode); static Builder builder(); static @Nonnull Layer2Topology fromDomains(Collection<Set<Layer2Node>> domains); @Nonnull Optional<Layer2Node> getBroadcastDomainRepresentative(Layer2Node layer2Node); @Nonnull Optional<Layer2Node> getBroadcastDomainRepresentative(
      String hostname, String interfaceName); boolean inSameBroadcastDomain(Layer2Node n1, Layer2Node n2); boolean inSameBroadcastDomain(NodeInterfacePair i1, NodeInterfacePair i2); boolean inSameBroadcastDomain(String host1, String iface1, String host2, String iface2); @JsonIgnore boolean isEmpty(); @Override boolean equals(@Nullable Object obj); @Override int hashCode(); static final Layer2Topology EMPTY; }