public int IndexOf(object Object, int Start, Equality AreEqual) { if ( Start<0 || Start>=FList.Count ) throw new ArgumentException("Start index must belong to [0; Count-1]."); for (int i=Start; i<FList.Count; i++) if ( AreEqual(FList[i], Object) ) return i; return -1; }