public static FiberConnection getFiberConnection(
      FiberConnection connection, ProteusOpticalSwitch switchModel) {

    FiberConnection matchingConnection = null;

    for (FiberConnection existentConnection : switchModel.getFiberConnections()) {
      if ( // same cards
      existentConnection.getSrcCard().getChasis() == connection.getSrcCard().getChasis()
          && existentConnection.getSrcCard().getModuleNumber()
              == connection.getSrcCard().getModuleNumber()
          && existentConnection.getDstCard().getChasis() == connection.getDstCard().getChasis()
          && existentConnection.getDstCard().getModuleNumber()
              == connection.getDstCard().getModuleNumber()
          &&
          // same ports
          existentConnection.getSrcPort().getPortNumber() == connection.getSrcPort().getPortNumber()
          && existentConnection.getDstPort().getPortNumber()
              == connection.getDstPort().getPortNumber()
          &&
          // same channels
          existentConnection.getSrcFiberChannel().getLambda()
              == connection.getSrcFiberChannel().getLambda()
          && existentConnection.getDstFiberChannel().getLambda()
              == connection.getDstFiberChannel().getLambda()) {
        matchingConnection = existentConnection;
        break;
      }
    }

    return matchingConnection;
  }