public class LuceneDocumentModel implements IComponentInheritedModel { Document doc; public LuceneDocumentModel(Document doc) { this.doc = doc; } public IWrapModel wrapOnInheritance(Component component) { return new WrapLuceneFieldModel(doc, component.getId(), false); } public Object getObject() { return doc; } public void setObject(Object object) { doc = (Document)object; } public void detach() { } public class WrapLuceneFieldModel extends LuceneFieldModel implements IWrapModel { public IModel getWrappedModel() { return LuceneDocumentModel.this; } public WrapLuceneFieldModel(Document doc, String fieldName, boolean multivalued) { super(doc, fieldName, multivalued); } } }