Index: lucene/core/src/java/org/apache/lucene/document/Document.java =================================================================== --- lucene/core/src/java/org/apache/lucene/document/Document.java (revision 1377243) +++ lucene/core/src/java/org/apache/lucene/document/Document.java (working copy) @@ -45,8 +45,6 @@ public final class Document implements IndexDocument{ private final List fields = new ArrayList(); - - //private final List fields /** Constructs a new document with no fields. */ public Document() {} @@ -291,28 +289,24 @@ /** Obtains all indexed fields in document */ @Override public Iterable indexableFields() { - Iterator it = indexedFieldsIterator(); - - List result = new ArrayList(); - while(it.hasNext()) { - result.add(it.next()); - } - - return result; + return new Iterable() { + @Override + public Iterator iterator() { + return Document.this.indexedFieldsIterator(); + } + }; } /** Obtains all stored fields in document. */ @Override public Iterable storableFields() { - Iterator it = storedFieldsIterator(); - - List result = new ArrayList(); - while(it.hasNext()) { - result.add(it.next()); - } - - return result; + return new Iterable() { + @Override + public Iterator iterator() { + return Document.this.storedFieldsIterator(); + } + }; } private Iterator storedFieldsIterator() {