private void addFieldToDoc( Object value, String name, float boost, boolean multiValued, DocWrapper doc) { if (value instanceof Collection) { Collection collection = (Collection) value; if (multiValued) { for (Object o : collection) { if (o != null) doc.addField(name, o, boost); } } else { if (doc.getField(name) == null) for (Object o : collection) { if (o != null) { doc.addField(name, o, boost); break; } } } } else if (multiValued) { if (value != null) { doc.addField(name, value, boost); } } else { if (doc.getField(name) == null && value != null) doc.addField(name, value, boost); } }