public static string ToRelative(string path, ResourceLocation location = ResourceLocation.Program)
        {
            if (string.IsNullOrEmpty(path))
            {
                return(path);
            }

            switch (location)
            {
            case ResourceLocation.Program:
                return(IOUtility.GetRelativePath(_root, path));

            case ResourceLocation.AppData:
                return(IOUtility.GetRelativePath(AppContext.ExtensionManager.ConfigurationProvider.ProfileRoot, path));

            default:
                break;
            }

            return(path);
        }