public RefList <T> FindAll(Predicate <T> match) { if (match == null) { ThrowHelper.ThrowArgumentNullException(ExceptionArgument.match); } Contract.EndContractBlock(); RefList <T> refList = new RefList <T>(); for (int i = 0; i < _size; i++) { if (match(_items[i])) { refList.Add(_items[i]); } } return(refList); }