Если смотреть на структуру, можно увидеть, что эта логика не фиксируется в одной конструкции, и перестраивается от строки к строке. В конце сформулированы подсказки, чтобы сохранить понятность. Дополнительно разобраны типовые ситуации, которые упрощают применение. По ходу изложения используются альтернативные конструкции, для того чтобы уменьшить шаблонность.