selectedIf

fun View.selectedIf(value: Boolean): View
inline fun <T> View.selectedIf(property: CSProperty<T>, crossinline condition: (T) -> Boolean): CSRegistration
fun View.selectedIf(property: CSProperty<Boolean>): CSRegistration
inline fun <T> View.selectedIf(    property1: CSProperty<T>,     property2: CSProperty<*>,     crossinline condition: (T) -> Boolean): CSRegistration
fun <T, V> View.selectedIf(    property1: CSProperty<T>,     property2: CSProperty<V>,     condition: (T, V) -> Boolean): CSRegistration
fun <T, V, X> View.selectedIf(    property1: CSProperty<T>,     property2: CSProperty<V>,     property3: CSProperty<X>,     condition: (T, V, X) -> Boolean): CSRegistration
fun <T, V, X, Y> View.selectedIf(    property1: CSProperty<T>,     property2: CSProperty<V>,     property3: CSProperty<X>,     property4: CSProperty<Y>,     condition: (T, V, X, Y) -> Boolean): CSRegistration