@SuppressWarnings({"unchecked", "rawtypes"})
        @API(status = API.Status.STABLE)
        public <T> @NonNull Builder<C> argument(
                final CommandComponent.Builder<? super C, T> builder
        ) {
            if (this.commandManager != null) {
                return this.argument(((CommandComponent.Builder) builder).commandManager(this.commandManager).build());
            } else {
                return this.argument(builder.build());
            }
        }
Adds the given {@code argument} to the command.

@param <T> value type
@param builder builder that builds the component 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