Index: src/java/org/apache/lucene/analysis/CharTokenizer.java
===================================================================
--- src/java/org/apache/lucene/analysis/CharTokenizer.java	(revision 768728)
+++ src/java/org/apache/lucene/analysis/CharTokenizer.java	(working copy)
@@ -90,8 +90,7 @@
     }
 
     termAtt.setTermLength(length);
-    offsetAtt.setStartOffset(start);
-    offsetAtt.setEndOffset(start+length);
+    offsetAtt.setOffset(start, start+length);
     return true;
   }
 
Index: src/java/org/apache/lucene/analysis/tokenattributes/OffsetAttribute.java
===================================================================
--- src/java/org/apache/lucene/analysis/tokenattributes/OffsetAttribute.java	(revision 768728)
+++ src/java/org/apache/lucene/analysis/tokenattributes/OffsetAttribute.java	(working copy)
@@ -43,6 +43,14 @@
     return startOffset;
   }
 
+  
+  /** Set the starting and ending offset.
+    @see #startOffset() and #endOffset()*/
+  public void setOffset(int startOffset, int endOffset) {
+    this.startOffset = startOffset;
+    this.endOffset = endOffset;
+  }
+  
   /** Set the starting offset.
     @see #startOffset() */
   public void setStartOffset(int offset) {
