public void run(String inputFileName, String targetFileName) { ExecutionState.recordInterestingEvent("run started"); ExecutionState.recordInterestingEvent("inputFileName:" + inputFileName); ExecutionState.recordInterestingEvent("targetFileName:" + targetFileName); if (FileUtils.checkFileNameExists(inputFileName) == false) { throw new Exception("Filename does not exists " + inputFileName); } ExecutionState.recordInterestingEvent("starting loading from file"); List <NameDetails> names = FileUtils.loadNamesFromFile(inputFileName); ExecutionState.recordInterestingEvent("done loading from file"); NameSortProcess SortProcess = new NameSortProcess(); List <NameDetails> sortedNames = SortProcess.Sort(names); ExecutionState.recordInterestingEvent("writing to file"); ExecutionState.recordInterestingEvent("targetFileName:" + targetFileName); ExecutionState.recordInterestingEvent("names:" + sortedNames.Count); FileUtils.saveNamesToFile(targetFileName, sortedNames); ScreenUtils.writeToScreen(sortedNames); ExecutionState.recordInterestingEvent("run done"); }