if ( builderIndexedEntity == null ) {
throw new SearchException( "No Lucene configuration set up for: " + clazz.getName() );
}
final int fieldNbr = fields.length;
Object[] result = new Object[fieldNbr];
ContextualException2WayBridge contextualBridge = new ContextualException2WayBridge();
contextualBridge.setClass(clazz);
if ( builderIndexedEntity.idKeywordName != null ) {
final XMember member = builderIndexedEntity.idGetter;
if ( member != null) {
contextualBridge.pushMethod( member.getName() );
}
populateResult(
builderIndexedEntity.idKeywordName,
builderIndexedEntity.idBridge,
Store.YES,
fields,
result,
document,
contextualBridge
);
if ( member != null) {
contextualBridge.popMethod();
}
}
final PropertiesMetadata metadata = builderIndexedEntity.metadata;
processFieldsForProjection( metadata, fields, result, document, contextualBridge );