support for conditional apply operation