public static void ExecuteTool(ToolParameters tp, string[] parameters) { var toolEx = new ToolExecution(); _executionTools.Add(toolEx); toolEx.ExecuteTool(tp, parameters, (result) => { lock (_tasksResultsQueue) { _tasksResultsQueue.Enqueue(result); } }); }