public void Process() { foreach (string line in file) { if (!ProcessLine(line)) { return; } } } private bool ProcessLine(string line) { string[] columns = line.split(','); foreach (string column in columns) { if (!ProcessColumn(column)) { return false; } } return true; } private bool ProcessColumn(string column) { if (hasBadData(column)) { LogErrorMessage(); return false; } Print(column); return true; }