class OptionalContext extends CommandContext<T> {

    public <V> @Nullable V getOptionalArgument(String name, Class<V> type) {
        return getOptionalArgument(name, type, null);
    }

}

class OptionalContextTest {

    static final Object SOURCE;
    static final Command<Object> COMMAND;
    static final CommandNode<Object> NODE;
    static final StringRange RANGE;
    static final RedirectModifier<Object> MODIFIER;
    static final CommandContext<Object> DELEGATE;
    static final OptionalContext<Object> CONTEXT;

    @Test
    void getOptionalArgument_default() {

        assertEquals("value", CONTEXT.getOptionalArgument("argument", String.class, "value"));
    }

}