﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class MultiTrie2
   | Apache Lucene.NET 4.8.0-beta00008 Documentation </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class MultiTrie2
   | Apache Lucene.NET 4.8.0-beta00008 Documentation ">
    <meta name="generator" content="docfx 2.50.0.0">
    
    <link rel="shortcut icon" href="../../logo/favicon.ico">
    <link rel="stylesheet" href="../../styles/docfx.vendor.css">
    <link rel="stylesheet" href="../../styles/docfx.css">
    <link rel="stylesheet" href="../../styles/main.css">
    <meta property="docfx:navrel" content="../../toc.html">
    <meta property="docfx:tocrel" content="../toc.html">
    
    <meta property="docfx:rel" content="../../">
    
  </head>
  <body data-spy="scroll" data-target="#affix" data-offset="120">
    <div id="wrapper">
      <header>
        
        <nav id="autocollapse" class="navbar ng-scope" role="navigation">
          <div class="container">
            <div class="navbar-header">
              <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
              
              <a class="navbar-brand" href="../../index.html">
                <img id="logo" class="svg" src="../../logo/lucene-net-color.png" alt="">
              </a>
            </div>
            <div class="collapse navbar-collapse" id="navbar">
              <form class="navbar-form navbar-right" role="search" id="search">
                <div class="form-group">
                  <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
                </div>
              </form>
            </div>
          </div>
        </nav>
        
        <div class="subnav navbar navbar-default">
          <div class="container hide-when-search" id="breadcrumb">
            <ul class="breadcrumb">
              <li></li>
            </ul>
          </div>
        </div>
      </header>
      <div class="container body-content">
        
        <div id="search-results">
          <div class="search-list"></div>
          <div class="sr-items">
            <p><i class="glyphicon glyphicon-refresh index-loading"></i></p>
          </div>
          <ul id="pagination"></ul>
        </div>
      </div>
      <div role="main" class="container body-content hide-when-search">
        
        <div class="sidenav hide-when-search">
          <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
          <div class="sidetoggle collapse" id="sidetoggle">
            <div id="sidetoc"></div>
          </div>
        </div>
        <div class="article row grid-right">
          <div class="col-md-10">
            <article class="content wrap" id="_content" data-uid="Egothor.Stemmer.MultiTrie2">
  
  
  <h1 id="Egothor_Stemmer_MultiTrie2" data-uid="Egothor.Stemmer.MultiTrie2" class="text-break">Class MultiTrie2
  </h1>
  <div class="markdown level0 summary"><p>The <a class="xref" href="Egothor.Stemmer.MultiTrie.html">MultiTrie</a> is a <a class="xref" href="Egothor.Stemmer.Trie.html">Trie</a> of <a class="xref" href="Egothor.Stemmer.Trie.html">Trie</a>s.
<p>
It stores words and their associated patch commands. The <a class="xref" href="Egothor.Stemmer.MultiTrie.html">MultiTrie</a> handles
patch commands broken into their constituent parts, as a <a class="xref" href="Egothor.Stemmer.MultiTrie.html">MultiTrie</a> does, but
the commands are delimited by the skip command.
</p></p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><span class="xref">System.Object</span></div>
    <div class="level1"><a class="xref" href="Egothor.Stemmer.Trie.html">Trie</a></div>
    <div class="level2"><a class="xref" href="Egothor.Stemmer.MultiTrie.html">MultiTrie</a></div>
    <div class="level3"><span class="xref">MultiTrie2</span></div>
  </div>
  <div class="inheritedMembers">
    <h5>Inherited Members</h5>
    <div>
      <a class="xref" href="Egothor.Stemmer.MultiTrie.html#Egothor_Stemmer_MultiTrie_m_tries">MultiTrie.m_tries</a>
    </div>
    <div>
      <a class="xref" href="Egothor.Stemmer.MultiTrie.html#Egothor_Stemmer_MultiTrie_PrintInfo_System_IO_TextWriter_System_String_">MultiTrie.PrintInfo(TextWriter, String)</a>
    </div>
    <div>
      <a class="xref" href="Egothor.Stemmer.Trie.html#Egothor_Stemmer_Trie_GetAll_System_String_">Trie.GetAll(String)</a>
    </div>
    <div>
      <a class="xref" href="Egothor.Stemmer.Trie.html#Egothor_Stemmer_Trie_GetCells">Trie.GetCells()</a>
    </div>
    <div>
      <a class="xref" href="Egothor.Stemmer.Trie.html#Egothor_Stemmer_Trie_GetCellsPnt">Trie.GetCellsPnt()</a>
    </div>
    <div>
      <a class="xref" href="Egothor.Stemmer.Trie.html#Egothor_Stemmer_Trie_GetCellsVal">Trie.GetCellsVal()</a>
    </div>
    <div>
      <span class="xref">System.Object.Equals(System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.Equals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.GetHashCode()</span>
    </div>
    <div>
      <span class="xref">System.Object.GetType()</span>
    </div>
    <div>
      <span class="xref">System.Object.MemberwiseClone()</span>
    </div>
    <div>
      <span class="xref">System.Object.ReferenceEquals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.ToString()</span>
    </div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="Egothor.Stemmer.html">Egothor.Stemmer</a></h6>
  <h6><strong>Assembly</strong>: Lucene.Net.Analysis.Stempel.dll</h6>
  <h5 id="Egothor_Stemmer_MultiTrie2_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class MultiTrie2 : MultiTrie</code></pre>
  </div>
  <h3 id="constructors">Constructors
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00008/websites/apidocs/apiSpec/new?filename=Egothor_Stemmer_MultiTrie2__ctor_J2N_IO_IDataInput_.md&amp;value=---%0Auid%3A%20Egothor.Stemmer.MultiTrie2.%23ctor(J2N.IO.IDataInput)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.Analysis.Stempel/Egothor.Stemmer/MultiTrie2.cs/#L78">View Source</a>
  </span>
  <a id="Egothor_Stemmer_MultiTrie2__ctor_" data-uid="Egothor.Stemmer.MultiTrie2.#ctor*"></a>
  <h4 id="Egothor_Stemmer_MultiTrie2__ctor_J2N_IO_IDataInput_" data-uid="Egothor.Stemmer.MultiTrie2.#ctor(J2N.IO.IDataInput)">MultiTrie2(IDataInput)</h4>
  <div class="markdown level1 summary"><p>Constructor for the <a class="xref" href="Egothor.Stemmer.MultiTrie.html">MultiTrie</a> object.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public MultiTrie2(IDataInput is)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">J2N.IO.IDataInput</span></td>
        <td><span class="parametername">is</span></td>
        <td><p>the input stream</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="exceptions">Exceptions</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Condition</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.IO.IOException</span></td>
        <td><p>if an I/O error occurs</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00008/websites/apidocs/apiSpec/new?filename=Egothor_Stemmer_MultiTrie2__ctor_System_Boolean_.md&amp;value=---%0Auid%3A%20Egothor.Stemmer.MultiTrie2.%23ctor(System.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.Analysis.Stempel/Egothor.Stemmer/MultiTrie2.cs/#L87">View Source</a>
  </span>
  <a id="Egothor_Stemmer_MultiTrie2__ctor_" data-uid="Egothor.Stemmer.MultiTrie2.#ctor*"></a>
  <h4 id="Egothor_Stemmer_MultiTrie2__ctor_System_Boolean_" data-uid="Egothor.Stemmer.MultiTrie2.#ctor(System.Boolean)">MultiTrie2(Boolean)</h4>
  <div class="markdown level1 summary"><p>Constructor for the <a class="xref" href="Egothor.Stemmer.MultiTrie2.html">MultiTrie2</a> object</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public MultiTrie2(bool forward)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><span class="parametername">forward</span></td>
        <td><p>set to <code>true</code> if the elements should be read left to right</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00008/websites/apidocs/apiSpec/new?filename=Egothor_Stemmer_MultiTrie2_Add_System_String_System_String_.md&amp;value=---%0Auid%3A%20Egothor.Stemmer.MultiTrie2.Add(System.String%2CSystem.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.Analysis.Stempel/Egothor.Stemmer/MultiTrie2.cs/#L226">View Source</a>
  </span>
  <a id="Egothor_Stemmer_MultiTrie2_Add_" data-uid="Egothor.Stemmer.MultiTrie2.Add*"></a>
  <h4 id="Egothor_Stemmer_MultiTrie2_Add_System_String_System_String_" data-uid="Egothor.Stemmer.MultiTrie2.Add(System.String,System.String)">Add(String, String)</h4>
  <div class="markdown level1 summary"><p>Add an element to this structure consisting of the given key and patch
command.
<p>
This method will return without executing if the <code data-dev-comment-type="paramref" class="paramref">cmd</code>
parameter&apos;s length is 0.
</p></p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override void Add(string key, string cmd)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>the key</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">cmd</span></td>
        <td><p>the patch command</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><a class="xref" href="Egothor.Stemmer.MultiTrie.html#Egothor_Stemmer_MultiTrie_Add_System_String_System_String_">MultiTrie.Add(String, String)</a></div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00008/websites/apidocs/apiSpec/new?filename=Egothor_Stemmer_MultiTrie2_Decompose_System_String_.md&amp;value=---%0Auid%3A%20Egothor.Stemmer.MultiTrie2.Decompose(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.Analysis.Stempel/Egothor.Stemmer/MultiTrie2.cs/#L294">View Source</a>
  </span>
  <a id="Egothor_Stemmer_MultiTrie2_Decompose_" data-uid="Egothor.Stemmer.MultiTrie2.Decompose*"></a>
  <h4 id="Egothor_Stemmer_MultiTrie2_Decompose_System_String_" data-uid="Egothor.Stemmer.MultiTrie2.Decompose(System.String)">Decompose(String)</h4>
  <div class="markdown level1 summary"><p>Break the given patch command into its constituent pieces. The pieces are
delimited by NOOP commands.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual string[] Decompose(string cmd)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">cmd</span></td>
        <td><p>the patch command</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span>[]</td>
        <td><p>an array containing the pieces of the command</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00008/websites/apidocs/apiSpec/new?filename=Egothor_Stemmer_MultiTrie2_GetFully_System_String_.md&amp;value=---%0Auid%3A%20Egothor.Stemmer.MultiTrie2.GetFully(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.Analysis.Stempel/Egothor.Stemmer/MultiTrie2.cs/#L97">View Source</a>
  </span>
  <a id="Egothor_Stemmer_MultiTrie2_GetFully_" data-uid="Egothor.Stemmer.MultiTrie2.GetFully*"></a>
  <h4 id="Egothor_Stemmer_MultiTrie2_GetFully_System_String_" data-uid="Egothor.Stemmer.MultiTrie2.GetFully(System.String)">GetFully(String)</h4>
  <div class="markdown level1 summary"><p>Return the element that is stored in a cell associated with the given key.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override string GetFully(string key)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>the key to the cell holding the desired element</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><p>the element</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><a class="xref" href="Egothor.Stemmer.MultiTrie.html#Egothor_Stemmer_MultiTrie_GetFully_System_String_">MultiTrie.GetFully(String)</a></div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00008/websites/apidocs/apiSpec/new?filename=Egothor_Stemmer_MultiTrie2_GetLastOnPath_System_String_.md&amp;value=---%0Auid%3A%20Egothor.Stemmer.MultiTrie2.GetLastOnPath(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.Analysis.Stempel/Egothor.Stemmer/MultiTrie2.cs/#L154">View Source</a>
  </span>
  <a id="Egothor_Stemmer_MultiTrie2_GetLastOnPath_" data-uid="Egothor.Stemmer.MultiTrie2.GetLastOnPath*"></a>
  <h4 id="Egothor_Stemmer_MultiTrie2_GetLastOnPath_System_String_" data-uid="Egothor.Stemmer.MultiTrie2.GetLastOnPath(System.String)">GetLastOnPath(String)</h4>
  <div class="markdown level1 summary"><p>Return the element that is stored as last on a path belonging to the given
key.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override string GetLastOnPath(string key)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>the key associated with the desired element</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><p>the element that is stored as last on a path</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><a class="xref" href="Egothor.Stemmer.MultiTrie.html#Egothor_Stemmer_MultiTrie_GetLastOnPath_System_String_">MultiTrie.GetLastOnPath(String)</a></div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00008/websites/apidocs/apiSpec/new?filename=Egothor_Stemmer_MultiTrie2_Reduce_Egothor_Stemmer_Reduce_.md&amp;value=---%0Auid%3A%20Egothor.Stemmer.MultiTrie2.Reduce(Egothor.Stemmer.Reduce)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.Analysis.Stempel/Egothor.Stemmer/MultiTrie2.cs/#L338">View Source</a>
  </span>
  <a id="Egothor_Stemmer_MultiTrie2_Reduce_" data-uid="Egothor.Stemmer.MultiTrie2.Reduce*"></a>
  <h4 id="Egothor_Stemmer_MultiTrie2_Reduce_Egothor_Stemmer_Reduce_" data-uid="Egothor.Stemmer.MultiTrie2.Reduce(Egothor.Stemmer.Reduce)">Reduce(Reduce)</h4>
  <div class="markdown level1 summary"><p>Remove empty rows from the given Trie and return the newly reduced Trie.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override Trie Reduce(Reduce by)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Egothor.Stemmer.Reduce.html">Reduce</a></td>
        <td><span class="parametername">by</span></td>
        <td><p>the <a class="xref" href="Egothor.Stemmer.Trie.html">Trie</a> to reduce</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Egothor.Stemmer.Trie.html">Trie</a></td>
        <td><p>the newly reduced Trie</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><a class="xref" href="Egothor.Stemmer.MultiTrie.html#Egothor_Stemmer_MultiTrie_Reduce_Egothor_Stemmer_Reduce_">MultiTrie.Reduce(Reduce)</a></div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00008/websites/apidocs/apiSpec/new?filename=Egothor_Stemmer_MultiTrie2_Store_J2N_IO_IDataOutput_.md&amp;value=---%0Auid%3A%20Egothor.Stemmer.MultiTrie2.Store(J2N.IO.IDataOutput)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.Analysis.Stempel/Egothor.Stemmer/MultiTrie2.cs/#L211">View Source</a>
  </span>
  <a id="Egothor_Stemmer_MultiTrie2_Store_" data-uid="Egothor.Stemmer.MultiTrie2.Store*"></a>
  <h4 id="Egothor_Stemmer_MultiTrie2_Store_J2N_IO_IDataOutput_" data-uid="Egothor.Stemmer.MultiTrie2.Store(J2N.IO.IDataOutput)">Store(IDataOutput)</h4>
  <div class="markdown level1 summary"><p>Write this data structure to the given output stream.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override void Store(IDataOutput os)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">J2N.IO.IDataOutput</span></td>
        <td><span class="parametername">os</span></td>
        <td><p>the output stream</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><a class="xref" href="Egothor.Stemmer.MultiTrie.html#Egothor_Stemmer_MultiTrie_Store_J2N_IO_IDataOutput_">MultiTrie.Store(IDataOutput)</a></div>
  <h5 class="exceptions">Exceptions</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Condition</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.IO.IOException</span></td>
        <td><p>if an I/O error occurs</p>
</td>
      </tr>
    </tbody>
  </table>
</article>
          </div>
          
          <div class="hidden-sm col-md-2" role="complementary">
            <div class="sideaffix">
              <div class="contribution">
                <ul class="nav">
                  <li>
                    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00008/websites/apidocs/apiSpec/new?filename=Egothor_Stemmer_MultiTrie2.md&amp;value=---%0Auid%3A%20Egothor.Stemmer.MultiTrie2%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a>
                  </li>
                  <li>
                    <a href="https://github.com/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.Analysis.Stempel/Egothor.Stemmer/MultiTrie2.cs/#L71" class="contribution-link">View Source</a>
                  </li>
                </ul>
              </div>
              <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
              <!-- <p><a class="back-to-top" href="#top">Back to top</a><p> -->
              </nav>
            </div>
          </div>
        </div>
      </div>
      
      <footer>
        <div class="grad-bottom"></div>
        <div class="footer">
          <div class="container">
            <span class="pull-right">
              <a href="#top">Back to top</a>
            </span>
            Copyright © 2020 Licensed to the Apache Software Foundation (ASF)
            
          </div>
        </div>
      </footer>
    </div>
    
    <script type="text/javascript" src="../../styles/docfx.vendor.js"></script>
    <script type="text/javascript" src="../../styles/docfx.js"></script>
    <script type="text/javascript" src="../../styles/main.js"></script>
  </body>
</html>
