public void RemoveProcess(IProcess process) { if (process==null) return; // TODO: think if this is appropriate (SD) if (process.ExecutionState != ProcessExecutionState.Finished ||process.ExecutionState != ProcessExecutionState.Stopped) { // TODO: handle exceptions process.Abort(); } _processes.Remove(process); }