Все таки это выглядит слишком жёстко,есть несколько вариантов решения,при некоторых случаях. Вот пытаюсь выяснить какой случай сейчас. Без обид()