public final @This @NonNull CommandComponent<C> addPreprocessor(
            final @NonNull ComponentPreprocessor<C> preprocessor
    ) {
        this.componentPreprocessors.add(Objects.requireNonNull(preprocessor, "preprocessor"));
        return this;
    }
Registers a new preprocessor.

<p>If all preprocessor has succeeding {@link ArgumentParseResult results}
that all return {@code true}, the component will be passed onto the parser.</p>

<p>It is important that the preprocessor doesn't pop any input. Instead, it should only peek.</p>

@param preprocessor Preprocessor
@return {@code this}
cloud-core/src/main/java/org/incendo/cloud/component/CommandComponent.java