def METHOD_NAME(self, commit=True, *args, **kwargs):
    instance = super().METHOD_NAME(*args, **kwargs, commit=False)
    parent = self.cleaned_data['parent']
    if not commit:
        return instance
    if instance.id is None:
        if MetaTerm.objects.all().count() == 0:
            MetaTerm.add_root(instance=instance)
        else:
            instance = parent.add_child(instance=instance)
    else:
        instance.METHOD_NAME()
        if instance.get_parent() != parent:
            instance.move(parent, pos='sorted-child')
    return instance