code: def convert(self, obj):
          
          if self.pristine_if_invalid:
              raise NotImplementedError('pristine_if_invalid option is not supported yet')
  
          nex = get_nexml_el(obj)
          assert nex
          # Create the new objects as locals. This section should not
          #   mutate obj, so that if there is an exception the object
          #   is unchanged on the error exit
          otusById = nex['otusById']
          otusElementOrder = nex['^ot:otusElementOrder']
          otus = self.convert_otus(otusById, otusElementOrder)
          nex['otus'] = otus
          treesById = nex['treesById']
          treesElementOrder = nex['^ot:treesElementOrder']
          trees = self.convert_trees(treesById, treesElementOrder)
          # add the locals to the object
          nex['trees'] = trees
          nex['@nexml2json'] = str(DIRECT_HONEY_BADGERFISH)
          # Make the struct leaner
          if self.remove_old_structs:
              del nex['otusById']
              del nex['^ot:otusElementOrder']
              del nex['treesById']
              del nex['^ot:treesElementOrder']
          return obj
docs: Takes a dict corresponding to the honeybadgerfish JSON blob of the 1.2.* type and
          converts it to DIRECT_HONEY_BADGERFISH version. The object is modified in place
          and returned.