title: Why @Rule annotated fields in JUnit has to be public?
body: <p>In JUnit test case, a field annotated by <code>@Rule</code> must be public. It breaks a common Java coding convention (all class member variables should not be public). Why does JUnit require this?</p>
  
  <p>Documentation for <code>@Rule</code>: <a href="https://github.com/junit-team/junit/blob/master/src/main/java/org/junit/Rule.java">https://github.com/junit-team/junit/blob/master/src/main/java/org/junit/Rule.java</a></p>