public QueryPhraseMap searchPhrase( final List<TermInfo> phraseCandidate ){QueryPhraseMap currMap = this;for( TermInfo ti : phraseCandidate ){currMap = currMap.subMap.get( ti.getText() );if( currMap == null ) return null;}return currMap.isValidTermOrPhrase( phraseCandidate ) ? currMap : null;}

public virtual QueryPhraseMap SearchPhrase(IList<TermInfo> phraseCandidate){QueryPhraseMap currMap = this;foreach (TermInfo ti in phraseCandidate){currMap.subMap.TryGetValue(ti.Text, out currMap);if (currMap == null) return null;}return currMap.IsValidTermOrPhrase(phraseCandidate) ? currMap : null;}
