'Raises:
Warning'

def __new__(meta_cls, class_name, bases, class_dict):

    if ('__view_model__' not in class_dict):
        class_dict['__view_model__'] = class_name
    newcls = super(MetaModel, meta_cls).__new__(meta_cls, class_name, bases, class_dict)
    entry = class_dict.get('__subtype__', class_dict['__view_model__'])
    if ((entry in MetaModel.model_class_reverse_map) and (not hasattr(newcls, '__implementation__'))):
        raise Warning(("Duplicate    __view_model__    or    __subtype__    declaration    of    '%s'    for    class    %s.        Previous    definition:    %s" % (entry, class_name, MetaModel.model_class_reverse_map[entry])))
    MetaModel.model_class_reverse_map[entry] = newcls
    return newcls
