text: public virtual TermsEnum GetTermsEnum(Terms terms){switch (Type){case Lucene.Net.Util.Automaton.CompiledAutomaton.AUTOMATON_TYPE.NONE:return TermsEnum.EMPTY;case Lucene.Net.Util.Automaton.CompiledAutomaton.AUTOMATON_TYPE.ALL:return terms.GetIterator(null);case Lucene.Net.Util.Automaton.CompiledAutomaton.AUTOMATON_TYPE.SINGLE:return new SingleTermsEnum(terms.GetIterator(null), Term);case Lucene.Net.Util.Automaton.CompiledAutomaton.AUTOMATON_TYPE.PREFIX:return new PrefixTermsEnum(terms.GetIterator(null), Term);case Lucene.Net.Util.Automaton.CompiledAutomaton.AUTOMATON_TYPE.NORMAL:return terms.Intersect(this, null);default:throw new Exception("unhandled case");}}