@Override
    public final boolean equals(final Object o) {
        if (this == o) {
            return true;
        } else if (o instanceof CommandComponent) {
            final CommandComponent<?> that = (CommandComponent<?>) o;
            return this.name().equals(that.name()) && this.valueType().equals(that.valueType());
        } else {
            return false;
        }
    }
Preprocess command input.

<p>This will immediately forward any failed component parse results.
If none fails, a {@code true} result will be returned.</p>

@param context Command context
@param input   Remaining command input. None will be popped
@return parsing error, or argument containing {@code true}
cloud-core/src/main/java/org/incendo/cloud/component/CommandComponent.java