code: def _get_fillin_items(self, all_keys, max_count=None, **kwargs):
      items = {}
      mask_match = re.compile(r"mask\d*")
      for k in kwargs:
          if re.search(r"\d+$", k):
              raise (
                  Exception(
                      'Error: keys cannot end in integers, we use that to index multiple copies of the same key (offending key: "%s")'
                      % k
                  )
              )
      for k in all_keys:
          # TODO: process if ends in number
          # TODO: process if is a:key to add article
          k = re.sub(r"\..*", "", k)
          k = re.sub(r"\[.*\]", "", k)
          k = re.sub(r".*?:", "", k)
          newk = re.sub(r"\d+$", "", k)
          if mask_match.match(k):
              continue
          if newk in kwargs:
              items[k] = kwargs[newk]
          elif newk in self.lexicons:
              items[k] = self.lexicons[newk]
          else:
              raise (
                  Exception(
                      'Error: key "%s" not in items or lexicons' % newk
                  )
              )
          if max_count:
              items[k] = items[k][:max_count]
      return items
  
imports: import collections
  import itertools
  import string
  import numpy
  import re
  import copy
  import os
  import json
  import munch
  import pickle
  import csv
  from .viewer.template_editor import TemplateEditor
  from .multilingual import multilingual_params, get_language_code
label_desc: Use image node_id 16 for calling the Editor obj's underlying member method code with example usage: obj._get_fillin_items(all_keys, max_count) and returns: items