title: Obscure field and modifier in Log4j Logger
body: <p>When looking into the class file for <code>org.apache.log4j.Logger</code> it defines a synthetic field of type <code>Class</code> with name <code>class$org$apache$log4j$Logger</code>.</p>
  
  <p>From looking at the byte code, it is clear that this field represents the self-referenced class from a time where the constant pool could not yet reference types. What I do however find strange is the modifier of this field which is <code>0x41008</code> which indicates a <code>private</code>, <code>synthetic</code> field (that I can follow) but which adds a modifier <code>0x40000</code> which I cannot find documented anywhere.</p>
  
  <p>Where does this modifier at bit 19 come from and what does it express? (Log4j is compiled for Java 1).</p>