/// <summary> /// Find all entries in the response list that are not null and didnt timeout. /// </summary> /// <param name="results">response list</param> /// <param name="type">type of response to fetch</param> /// <returns>List of entries found</returns> public static IList GetAllNonNullRsp(RspList results, Type type) { IList list = new ClusteredArrayList(); if (results == null) { return(null); } Rsp rsp = null; IList <Rsp> removeRsps = null; for (int i = 0; i < results.size(); i++) { rsp = (Rsp)results.elementAt(i); if (rsp.wasSuspected() || !rsp.wasReceived()) { if (removeRsps == null) { removeRsps = new List <Rsp>(); } removeRsps.Add(rsp); continue; } if (rsp.Value != null && rsp.Value.GetType().Equals(type)) { list.Add(rsp); } } if (removeRsps != null && removeRsps.Count > 0) { foreach (Rsp r in removeRsps) { results.removeRsp(r); } } return(list); }