/// <summary>
 /// Adapts a ShellBag RegistryKey to a common standard for retrieval of important information independent of key retrieval methodologies
 /// </summary>
 /// <param name="registryKey">A Registry Key associated with a Shellbag, retrieved from a offline registry reader API</param>
 /// <param name="keyValue">The Value of a Registry key containing Shellbag information. Found in the Parent of the registryKey being inspected</param>
 /// <param name="parent">The parent of the currently inspected registryKey. Can be null.</param>
 public RegistryKeyWrapper(OfflineRegistryKey registryKey, byte[] keyValue, OfflineRegistryHive hive, RegistryKeyWrapper parent = null) : this(keyValue)
 {
     Parent       = parent;
     RegistryPath = registryKey.KeyPath;
     AdaptOfflineKey(registryKey, hive);
 }
 /// <summary>
 /// Adapts a ShellBag RegistryKey to a common standard for retrieval of important information independent of key retrieval methodologies
 /// </summary>
 /// <param name="registryKey">A Registry Key associated with a Shellbag, retrieved via Win32 API </param>
 /// <param name="keyValue">The Value of a Registry key containing Shellbag information. Found in the Parent of the registryKey being inspected</param>
 /// <param name="parent">The parent of the currently inspected registryKey. Can be null.</param>
 public RegistryKeyWrapper(LiveRegistryKey registryKey, byte[] keyValue, RegistryKeyWrapper parent = null) : this(keyValue)
 {
     Parent       = parent;
     RegistryPath = registryKey.Name;
     AdaptWin32Key(registryKey);
 }