class BehaviorDependentDispatcher extends AbstractPropertyDispatcherDecorator {

    @Override
    public <T> boolean isPushable(Aspect<T> aspect) {
        if (aspect.getName().equals(LinkkiAspectDefinition.VALUE_ASPECT_NAME)
                && !isConsensus(forBoundObjectAndProperty(PropertyBehavior::isWritable))) {
            return false;
        } else {
            return super.isPushable(aspect);
        }
    }

    public  BehaviorDependentDispatcher(PropertyDispatcher wrappedDispatcher,
            PropertyBehaviorProvider provider);

}