.forEach(
vlan -> {
if (Objects.equals(i1.getNativeVlan(), vlan) && trunkWithNativeVlanAllowed(i2)) {
if (!i1Tag.equals(i2.getNativeVlan()) && i2.getAllowedVlans().contains(i1Tag)) {
edges.add(new Layer2Edge(node1, null, node2, i1Tag, i1Tag));
if (!i2Tag.equals(i1.getNativeVlan()) && i1.getAllowedVlans().contains(i2Tag)) {
edges.add(new Layer2Edge(node1, i2Tag, node2, null, i2Tag));
edges.add(new Layer2Edge(node1, i1.getNativeVlan(), node2, node2VlanId, null));
} else if (trunkWithNativeVlanAllowed(i2)) {
edges.add(new Layer2Edge(node1, node1VlanId, node2, i2.getNativeVlan(), null));