private string[] GetCompletion(ICommand item, string[] args, string find)
 {
     if (item is ICommandCompletor completor)
     {
         var members = CommandDescriptor.GetMemberDescriptors(item);
         var context = CommandCompletionContext.Create(item, members, args, find);
         if (context is CommandCompletionContext completionContext)
         {
             var completion = completor.GetCompletions(completionContext);
             if (completion != null)
             {
                 return(completion);
             }
         }
         else if (context is string[] completions)
         {
             return(completions);
         }
     }
     return(null);
 }