'Returns a Multifield with diff fields. If not changes, returns None
:param other_mapping:
:return: a Multifield or None'

def get_diff(self, other_mapping):

    result = MultiField(name=self.name)
    new_fields = set(self.fields.keys())
    if (not isinstance(other_mapping, MultiField)):
        n_mapping = MultiField(name=self.name)
        n_mapping.add_fields([other_mapping])
        other_mapping = n_mapping
    old_fields = set(other_mapping.fields.keys())
    added = (new_fields - old_fields)
    if added:
        result.add_fields([(add, self.fields[add]) for add in added])
    if (len(result.fields) > 0):
        return result
    return None
