Hi, I sometimes wonder what is the purpose of so heavy "final" methods and classes usage in Lucene. It makes it my life much harder to override standard classes with some custom implementation.
What comes first to my mind is runtime efficiency (compiler "knows" that this class/method will not be overridden and may create more efficient code without jump lookup tables and with method inlining). Is my assumption correct or there are other benefits that were behind this decision? Regards, Michael W.