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; }