private async Task <Tuple <IConnectable, Connection[]> > GetRandomConnector() { IConnectable Connector = M.Mathn.SelectRandmo(mConnectables.ToArray(), GeneratorController.SafeRandom()); Connection[] openConnections = await Connector.GetOpenConnections(); for (int d = 0; d < 10; d++) { if (openConnections[0] != Connection.None) { break; } Connector = M.Mathn.SelectRandmo(mConnectables.ToArray(), GeneratorController.SafeRandom()); openConnections = await Connector.GetOpenConnections(); } return(new Tuple <IConnectable, Connection[]>(Connector, openConnections)); }