class_docstr: A metaclass template for classes the want to prevent subclassess from
  overriding a some methods or attributes.
class_docstr_tok: ["A","metaclass","template","for","classes","the","want","to","prevent","subclassess","from","overriding","a","some","methods","or","attributes","."]
code: def __new__(mcls, name, bases, dict_):
      for k, v in iteritems(dict_):
          if is_final(k, bases):
              raise _type_error
  
      setattr_ = dict_.get("__setattr__")
      if setattr_ is None:
          # No `__setattr__` was explicitly defined, look up the super
          # class's. `bases[0]` will have a `__setattr__` because
          # `object` does so we don't need to worry about the mro.
          setattr_ = bases[0].__setattr__
  
      if not is_final("__setattr__", bases) and not isinstance(
          setattr_, final
      ):
          # implicitly make the `__setattr__` a `final` object so that
          # users cannot just avoid the descriptor protocol.
          dict_["__setattr__"] = final(setattr_)
  
      return super(FinalMeta, mcls).__new__(mcls, name, bases, dict_)
  
file_path: catalyst/catalyst/utils/final.py
imports: from abc import ABCMeta, abstractmethod
  from six import with_metaclass, iteritems
label_desc: Use image node_id 1 for calling the FinalMeta obj's underlying member method code with example usage: obj.__new__(mcls, name, bases, dict_) and returns: super