docs: def _get_rdfclass(self, class_type, **kwargs):
          """ returns the instanticated class from the class list
  
              args:
                  class_type: dictionary with rdf_types
          """
          def select_class(class_name):
              """ finds the class in the rdfclass Module"""
              try:
                  return getattr(MODULE.rdfclass, class_name.pyuri)
              except AttributeError:
                  return RdfClassBase
  
          if kwargs.get("def_load"):
              return RdfClassBase
  
          if isinstance(class_type[self.omap], list):
              bases = [select_class(class_name)
                       for class_name in class_type[self.omap]]
              bases = [base for base in bases if base != RdfClassBase]
              if len(bases) == 0:
                  return RdfClassBase
              elif len(bases) == 1:
                  return bases[0]
              else:
                  bases = remove_parents(bases)
                  if len(bases) == 1:
                      return bases[0]
                  else:
                      name = "_".join(sorted(class_type[self.omap]))
                      # if the the class has already been created return it
                      if hasattr(MODULE.rdfclass, name):
                          return getattr(MODULE.rdfclass, name)
                      new_class = type(name,
                                       tuple(bases),
                                       {})
                      new_class.hierarchy = list_hierarchy(class_type[self.omap][0],
                                                           bases)
                      new_class.class_names = sorted([base.__name__ \
                              for base in bases \
                              if base not in [RdfClassBase, dict]])
                      setattr(MODULE.rdfclass, name, new_class)
                      return new_class
          else:
              return select_class(class_type[self.omap])