https://medium.com/@AlexanderObregon/what-happens-when-you-use-reflection-to-break-javas-access-rules-a840a25a5457