GetFolder() private method

private GetFolder ( [ id, [ knownFolder ) : HResult
id [
knownFolder [
return HResult
        /// <summary>
        /// Returns a known folder given a globally unique identifier.
        /// </summary>
        /// <param name="knownFolderId">A GUID for the requested known folder.</param>
        /// <returns>A known folder representing the specified name.</returns>
        /// <exception cref="System.ArgumentException">Thrown if the given Known Folder ID is invalid.</exception>
        public static IKnownFolder FromKnownFolderId(Guid knownFolderId)
        {
            IKnownFolderNative knownFolderNative;
            KnownFolderManagerClass knownFolderManager = new KnownFolderManagerClass();

            HResult hr = knownFolderManager.GetFolder(knownFolderId, out knownFolderNative);
            if (hr != HResult.S_OK) { throw new Exception(hr.ToString()); }

            IKnownFolder kf = GetKnownFolder(knownFolderNative);
            if (kf == null)
                throw new ArgumentException("Invalid GUID", "knownFolderId");
            else
                return kf;
        }