private static bool TermIsIsolated(List <Term> dataCopy, Term initTerm) { for (var i = 0; i < dataCopy.Count; i++) { var term = dataCopy[i]; if (initTerm.AffectedBy(term)) { dataCopy.RemoveAt(i); dataCopy.AddRange(initTerm + term); return(false); } } return(true); }