private static IEnumerable<Verb> GetVerbs([NotNull] RegistryKey typeKey, [NotNull] CommandMapper commandMapper)
{
#region Sanity checks
if (typeKey == null) throw new ArgumentNullException(nameof(typeKey));
if (commandMapper == null) throw new ArgumentNullException(nameof(commandMapper));
#endregion
return RegUtils.GetSubKeyNames(typeKey, "shell").
Select(verbName => GetVerb(typeKey, commandMapper, verbName)).WhereNotNull();
}