Using any internal (non-documented) fields in a class may lead to a rewrite of your application when the next version of the library is released. We treat public/documented fields much more carefully (although there is no complete guarantee that they will never change).
However, internal fields are declared as protected:, not private: (specifically for the case you described), so you can implement your own derived class that will provide the necessary access from the outside
Using any internal (non-documented) fields in a class may lead to a rewrite of your application when the next version of the library is released. We treat public/documented fields much more carefully (although there is no complete guarantee that they will never change).
However, internal fields are declared as protected:, not private: (specifically for the case you described), so you can implement your own derived class that will provide the necessary access from the outside