+ if (this == obj) {
+ return true;
+ }
+ if (obj == null) {
+ return false;
+ }
+ if (getClass() != obj.getClass()) {
+ return false;
+ }
+ Switch other = (Switch) obj;
+ if (!Arrays.equals(dataLayerAddress, other.dataLayerAddress)) {
+ return false;
+ }
+ if (node == null) {
+ if (other.node != null) {
+ return false;
+ }
+ } else if (!node.equals(other.node)) {
+ return false;
+ }
+ if (nodeConnectors == null) {
+ if (other.nodeConnectors != null) {
+ return false;
+ }
+ } else if (!nodeConnectors.equals(other.nodeConnectors)) {
+ return false;
+ }
+ if (spanPorts == null) {
+ if (other.spanPorts != null) {
+ return false;
+ }
+ } else if (!spanPorts.equals(other.spanPorts)) {
+ return false;
+ }
+ return true;