@Override
    public boolean match(PathInput input) {
        if (input.end()) {
            return isOptional();
        } else {
            if (input.isBind()) {
                bind(input, input.value());
            }

            input.next();
            return true;
        }
    }