Why are BlueprintGetter not visible?

Sorry but how is this an answer to my question? With BlueprintReadWrite you are breaking encapsulation. Encapsulation is important to hide implementation details and to write clean interfaces between classes and users of the class. I intended to use a BlueprintGetter to follow such software design principles.