class ConfigConditionalContext implements
        ComponentConditionalContext<ComponentDescriptor<T>>,
        Predicate<GettableComponent<T>> {

    @Override
    public boolean isEnable(final ComponentFactory factory,
                            final ComponentDescriptor<T> descriptor) {
        Objects.requireNonNull(factory, "factory must not be null");
        Objects.requireNonNull(descriptor, "descriptor must not be null");

        final Optional<Condition> optional = descriptor.condition();
        return optional
            .map(condition -> condition.matches(buildConditionContent(factory, descriptor)))
            .orElse(true);
    }

    public  ConfigConditionalContext(final Conf config);

}