Index: src/java/org/apache/lucene/search/highlight/TokenSources.java
===================================================================
--- src/java/org/apache/lucene/search/highlight/TokenSources.java	(revision 610403)
+++ src/java/org/apache/lucene/search/highlight/TokenSources.java	(working copy)
@@ -219,15 +219,21 @@
     //convenience method
     public static TokenStream getTokenStream(IndexReader reader,int docId, String field,Analyzer analyzer) throws IOException
     {
-		Document doc=reader.document(docId);
-		String contents=doc.get(field);
+		  Document doc=reader.document(docId);
+		  return getTokenStream(doc, field, analyzer);
+    }
+    
+  public static TokenStream getTokenStream(Document doc, String field, Analyzer analyzer){
+    String contents=doc.get(field);
 		if(contents==null)
 		{
-		    throw new IllegalArgumentException("Field "+field +" in document #"+docId+ " is not stored and cannot be analyzed");
+		    throw new IllegalArgumentException("Field "+field +" in document is not stored and cannot be analyzed");
 		}
         return analyzer.tokenStream(field,new StringReader(contents));
-    }
-    
-    
+  }
+  //conevenience method
+  public static TokenStream getTokenStream(String contents, String field, Analyzer analyzer){
+    return analyzer.tokenStream(field,new StringReader(contents));
+  }
 
 }
