} else if (node.hasDefined(CommonAttributes.CHANGE_LEVEL.getName())) {
return new LevelChangingFilter(parseLevel(CommonAttributes.CHANGE_LEVEL.resolveModelAttribute(context, node)));
} else if (node.hasDefined(CommonAttributes.DENY.getName())) {
return DenyAllFilter.getInstance();
} else if (node.hasDefined(CommonAttributes.LEVEL.getName())) {
return new LevelFilter(parseLevel(CommonAttributes.LEVEL.resolveModelAttribute(context, node)));
} else if (node.hasDefined(CommonAttributes.LEVEL_RANGE.getName())) {
final ModelNode levelRange = CommonAttributes.LEVEL_RANGE.resolveModelAttribute(context, node);
final Level min = parseLevel(CommonAttributes.MIN_LEVEL.resolveModelAttribute(context, levelRange));
final Level max = parseLevel(CommonAttributes.MAX_LEVEL.resolveModelAttribute(context, levelRange));
final boolean minInclusive = CommonAttributes.MIN_INCLUSIVE.resolveModelAttribute(context, levelRange).asBoolean();