Description
When you compile your own code against the Lucene 2.9 version of the JARs and use the LUCENE_MAIN_VERSION constant and then run the code against the 3.0 JAR, the constant still contains 2.9, because javac inlines primitives and Strings into the class files if they are public static final and are generated by a constant (not method).
The attached fix will fix this by using a ident(String) functions that return the String itsself to prevent this inlining.
Will apply to 2.9, trunk and 2.9 BW branch. No I can also reenable one test I removed because of this.