code: def cells_from_defaults(clz, jsonobj):
          
          # convert strings to dicts
          if isinstance(jsonobj, (str, unicode)):
              jsonobj = json.loads(jsonobj)
          
          assert 'cells' in jsonobj, "No cells in object"
         
          domain = TaxonomyCell.get_domain()
          cells = []
          for num, cell_dna in enumerate(jsonobj['cells']):
              assert 'kind' in cell_dna, "No type definition"
              classgenerator = domain.node[cell_dna['kind']]['class']
              cell = classgenerator()
              cell['num'].merge(num)
              for attr, val in cell_dna.items():
                  if not attr in ['kind']:
                      cell[attr].merge(val)
                      cells.append(cell)
          return cells
docs: Creates a referent instance of type `json.kind` and 
          initializes it to default values.