private ReConfigChunk makeSSNResets() { ReConfigChunk reply = new ReConfigChunk(); // create a new thing Logger.Debug("closing streams n=" + listOfStreamsToReset.Count); List <int> streamsL = new List <int>(); lock (listOfStreamsToReset) { foreach (var s in listOfStreamsToReset) { if (s.InboundIsOpen()) { streamsL.Add(s.getNum()); } } } int[] streams = streamsL.ToArray(); if (streams.Length > 0) { OutgoingSSNResetRequestParameter rep = new OutgoingSSNResetRequestParameter(nextNearNo(), farSeqno - 1, assoc.getNearTSN()); rep.setStreams(streams); reply.addParam(rep); } streamsL.Clear(); lock (listOfStreamsToReset) { foreach (var s in listOfStreamsToReset) { if (s.OutboundIsOpen()) { streamsL.Add(s.getNum()); } } } streams = streamsL.ToArray(); if (streams.Length > 0) { IncomingSSNResetRequestParameter rep = new IncomingSSNResetRequestParameter(nextNearNo()); rep.setStreams(streams); reply.addParam(rep); } Logger.Debug("reconfig chunk is " + reply.ToString()); return(reply); }