/*
        public override TokenStream ReusableTokenStream(string fieldName, System.IO.TextReader reader)
        {
            MMSegTokenizer mmsegTokenizer = (MMSegTokenizer)base.PreviousTokenStream;
            if (mmsegTokenizer == null)
            {
                mmsegTokenizer = new MMSegTokenizer(NewSeg, reader);
                base.PreviousTokenStream = mmsegTokenizer;
            }
            else
            {
                mmsegTokenizer.Reset(reader);
            }
            return mmsegTokenizer;
        }
        */

        public override TokenStream TokenStream(string fieldName, System.IO.TextReader reader)
        {
            Lucene.Net.Analysis.TokenStream result = new MMSegTokenizer(NewSeg, reader);
            result.Reset();
            result = new LowerCaseFilter(result);
            return result;
        }
        /*
         * public override TokenStream ReusableTokenStream(string fieldName, System.IO.TextReader reader)
         * {
         *  MMSegTokenizer mmsegTokenizer = (MMSegTokenizer)base.PreviousTokenStream;
         *  if (mmsegTokenizer == null)
         *  {
         *      mmsegTokenizer = new MMSegTokenizer(NewSeg, reader);
         *      base.PreviousTokenStream = mmsegTokenizer;
         *  }
         *  else
         *  {
         *      mmsegTokenizer.Reset(reader);
         *  }
         *  return mmsegTokenizer;
         * }
         */

        public override TokenStream TokenStream(string fieldName, System.IO.TextReader reader)
        {
            Lucene.Net.Analysis.TokenStream result = new MMSegTokenizer(NewSeg, reader);
            result.Reset();
            result = new LowerCaseFilter(result);
            return(result);
        }
        /*
        public override TokenStream ReusableTokenStream(string fieldName, System.IO.TextReader reader)
        {
            MMSegTokenizer mmsegTokenizer = (MMSegTokenizer)base.PreviousTokenStream;
            if (mmsegTokenizer == null)
            {
                mmsegTokenizer = new MMSegTokenizer(NewSeg, reader);
                base.PreviousTokenStream = mmsegTokenizer;
            }
            else
            {
                mmsegTokenizer.Reset(reader);
            }
            return mmsegTokenizer;
        }
        */

        public override TokenStream TokenStream(string fieldName, System.IO.TextReader reader)
        {
            Lucene.Net.Analysis.TokenStream ts = new MMSegTokenizer(NewSeg, reader);
            return ts;
        }