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