THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
assertFinal - Asserting Child Is Sealed
protected TokenStream(AttributeFactory factory) { super(factory); assert assertFinal(); } private boolean assertFinal() { try { final Class<?> clazz = getClass(); assert clazz.isAnonymousClass() || (clazz.getModifiers() & (Modifier.FINAL | Modifier.PRIVATE)) != 0 || Modifier.isFinal(clazz.getMethod("incrementToken").getModifiers()) : "TokenStream implementation classes or at least their incrementToken() implementation must be final"; return true; } catch (NoSuchMethodException nsme) { return false; } }
This seems like a broken way to enforce design rules or idioms. You take a performance hit whenever the sub class initializes. This kind of thing needs to be through FxCop or Tests that enforce design rules or both. For now Lucene.Net 4 is omitting these rules.