Hi, here's my first suggestion for the Refactoring steps:
By now is the IW-class very big and i would try to reduce the code, by delegate special functions to the new components (Pattern: SRP). So keeps the IndexWriter most of his APIs and delegates "only". I would try to extract the internals from the following methods into new components; for example, it could look like this; - addDocument: component SegementWriter - addIndexes: component IndexbasedWriter What you think? Other ideas / suggestions / tips? Should I have to send the mail to the lucene mailing list? Thx for the feedback Tim