@Override
  public Object @NotNull [] getVariants() {
    final CommandLineFile file = getCommandLineFile();
    if (file == null) {
      return EMPTY_ARRAY;
    }
    final List<Command> commands = file.getCommands();
    if (commands == null) {
      return EMPTY_ARRAY;
    }

    final LookupWithIndentsBuilder result = new LookupWithIndentsBuilder();

    for (final Command command : commands) {
      final LookupElementBuilder lookupElementBuilder = LookupElementBuilder.create(command.getName());
      final Help help = command.getHelp(true);
      result.addElement(lookupElementBuilder, (help != null ? help.getHelpString() : null));
    }


    return result.getResult();
  }
@Override
  public Object @NotNull [] getVariants()