code: Object cloneReset() throws CloneNotSupportedException {
          // this method exists to enable 100% test coverage
          final StrTokenizer cloned = new StrTokenizer();
  
          if (this.chars != null) {
              cloned.chars = new char[this.chars.length];
              for (int i = 0; i < this.chars.length; i++) {
                  cloned.chars[i] = this.chars[i];
              }
          }
          if (this.tokens == null) {
              cloned.tokens = null;
          } else {
              cloned.tokens = this.getTokenArray();
          }
          cloned.tokenPos = this.tokenPos;
          cloned.emptyAsNull = this.emptyAsNull;
          cloned.ignoreEmptyTokens = this.ignoreEmptyTokens;
  
          cloned.delimMatcher = this.delimMatcher;
          cloned.quoteMatcher = this.quoteMatcher;
          cloned.ignoredMatcher = this.ignoredMatcher;
          cloned.trimmerMatcher = this.trimmerMatcher;
  
          cloned.reset();
          return cloned;
      }
docs: Creates a new instance of this Tokenizer. The new instance is reset so that
  it will be at the start of the token list.
  
  @return a new instance of this Tokenizer which has been reset.
  @throws CloneNotSupportedException if there is a problem cloning