code: function DynamicDictionaries(trie, token_info_dictionary, connection_costs, unknown_dictionary) {
      if (trie != null) {
          this.trie = trie;
      } else {
          this.trie = doublearray.builder(0).build([
              {k: "", v: 1}
          ]);
      }
      if (token_info_dictionary != null) {
          this.token_info_dictionary = token_info_dictionary;
      } else {
          this.token_info_dictionary = new TokenInfoDictionary();
      }
      if (connection_costs != null) {
          this.connection_costs = connection_costs;
      } else {
          // backward_size * backward_size
          this.connection_costs = new ConnectionCosts(0, 0);
      }
      if (unknown_dictionary != null) {
          this.unknown_dictionary = unknown_dictionary;
      } else {
          this.unknown_dictionary = new UnknownDictionary();
      }
  }
docs: Dictionaries container for Tokenizer
  @param {DoubleArray} trie
  @param {TokenInfoDictionary} token_info_dictionary
  @param {ConnectionCosts} connection_costs
  @param {UnknownDictionary} unknown_dictionary
  @constructor