@SuppressWarnings("unchecked")
        @API(status = API.Status.STABLE)
        public @NonNull Builder<C> argument(
                final @NonNull CommandComponent<? super C> argument
        ) {
            final List<CommandComponent<C>> commandComponents = new ArrayList<>(this.commandComponents);
            commandComponents.add((CommandComponent<C>) argument);
            return new Builder<>(
                    this.commandManager,
                    this.commandMeta,
                    this.senderType,
                    commandComponents,
                    this.commandExecutionHandler,
                    this.permission,
                    this.flags,
                    this.commandDescription
            );
        }
Adds the given {@code argument} to the command.

@param argument argument to add
@return new builder instance with the command argument inserted into the argument list
cloud-core/src/main/java/org/incendo/cloud/Command.java