public static T add_Dwr_Fuzz_Request_Viewer <T>(this T control, string fuzzFile, List <string> codeFolders, string regExFilter) where T : Control { var tableList = control.add_TableList(); var _showStackTrace = tableList.insert_Right().add_StackTraceViewer(codeFolders, regExFilter); DWR_Fuzz_Requests dwrRequests = null; Action <int> showStackTraceForItem = (index) => { if (dwrRequests.notNull() && dwrRequests.size() > index) { _showStackTrace(dwrRequests[index].DwrErrorMessage); } }; Action <string> loadFile = (fileToLoad) => { "loading File: {0}".info(fileToLoad); tableList.clearTable(); dwrRequests = fileToLoad.load <DWR_Fuzz_Requests>(); if (dwrRequests.notNull()) { tableList.show(dwrRequests); tableList.selectFirst(); } }; tableList.afterSelect_get_RowIndex(showStackTraceForItem); loadFile(fuzzFile); tableList.getListViewControl().onDrop((droppedFile) => loadFile(droppedFile)); return(control); }