Грубо говоря, если два дочерних класса унаследованы от одного и того же базового класса, то они видят протектед поля друг друга даже если ты получил оригинальный тип дочернего класса, но вызывать эти методы нельзя, вот так, шо за порнуха? Так задумано?