'Find any objects that have been changed since the last run of the watcher.
Add these items to the changed_items list.'

def find_modified(self, previous=[], current=[], exception_map={}):

    prev_map = {item.location(): item for item in previous}
    curr_map = {item.location(): item for item in current}
    item_locations = list(set(curr_map).intersection(set(prev_map)))
    item_locations = [item_location for item_location in item_locations if (not self.location_in_exception_map(item_location, exception_map))]
    for location in item_locations:
        prev_item = prev_map[location]
        curr_item = curr_map[location]
        eph_change_item = None
        dur_change_item = None
        if (not (sub_dict(prev_item.config) == sub_dict(curr_item.config))):
            eph_change_item = ChangeItem.from_items(old_item=prev_item, new_item=curr_item)
        if self.ephemerals_skipped():
            dur_prev_item = deepcopy(prev_item)
            dur_curr_item = deepcopy(curr_item)
            for path in self.ephemeral_paths:
                for cfg in [dur_prev_item.config, dur_curr_item.config]:
                    try:
                        dpath.util.delete(cfg, path, separator='$')
                    except PathNotFound:
                        pass
            if (not (sub_dict(dur_prev_item.config) == sub_dict(dur_curr_item.config))):
                dur_change_item = ChangeItem.from_items(old_item=dur_prev_item, new_item=dur_curr_item)
            if eph_change_item:
                self.ephemeral_items.append(eph_change_item)
                app.logger.debug(('%s:    ephemeral    changes    in    item    %s/%s/%s' % (self.i_am_singular, eph_change_item.account, eph_change_item.region, eph_change_item.name)))
            if dur_change_item:
                self.changed_items.append(dur_change_item)
                app.logger.debug(('%s:    durable    changes    in    item    %s/%s/%s' % (self.i_am_singular, dur_change_item.account, dur_change_item.region, dur_change_item.name)))
        elif (eph_change_item is not None):
            self.changed_items.append(eph_change_item)
            app.logger.debug(('%s:    changes    in    item    %s/%s/%s' % (self.i_am_singular, eph_change_item.account, eph_change_item.region, eph_change_item.name)))
