private static IEnumerable <PythonInterpreterInformation> FindWorkspaceInterpreters(IPythonWorkspaceContext workspace)
        {
            var found = new List <PythonInterpreterInformation>();

            if (workspace != null)
            {
                // First look in workspace subfolders
                found.AddRange(FindInterpretersInSubFolders(workspace.Location).Where(p => p != null));

                // Then look at the currently set interpreter path,
                // because it may point to a folder outside of the workspace,
                // or in a deep subfolder that we don't look into.
                var interpreter = workspace.ReadInterpreterSetting();
                if (PathUtils.IsValidPath(interpreter) && !Path.IsPathRooted(interpreter))
                {
                    interpreter = workspace.MakeRooted(interpreter);
                }

                // Make sure it wasn't already discovered
                if (File.Exists(interpreter) && !found.Any(p => PathUtils.IsSamePath(p.Configuration.InterpreterPath, interpreter)))
                {
                    var info = CreateEnvironmentInfo(interpreter);
                    if (info != null)
                    {
                        found.Add(info);
                    }
                }
            }

            return(found);
        }