code: def merge_deltas(stmts_in):
      stmts_out = []
      for stmt in stmts_in:
          if not isinstance(stmt, Influence):
              stmts_out.append(stmt)
              continue
          deltas = {}
          for role in ('subj', 'obj'):
              for info in ('polarity', 'adjectives'):
                  key = (role, info)
                  deltas[key] = []
                  for ev in stmt.evidence:
                      entry = ev.annotations.get('%s_%s' % key)
                      deltas[key].append(entry if entry else None)
          polarity_pairs = list(zip(deltas[('subj', 'polarity')],
                                    deltas[('obj', 'polarity')]))
          both_pols = [pair for pair in polarity_pairs if pair[0] is not None and
                       pair[1] is not None]
          if both_pols:
              subj_pol, obj_pol = max(set(both_pols), key=both_pols.count)
              stmt.subj.delta['polarity'] = subj_pol
              stmt.obj.delta['polarity'] = obj_pol
          else:
              one_pol = [pair for pair in polarity_pairs if pair[0] is not None or
                         pair[1] is not None]
              if one_pol:
                  subj_pol, obj_pol = max(set(one_pol), key=one_pol.count)
                  stmt.subj.delta['polarity'] = subj_pol
                  stmt.obj.delta['polarity'] = obj_pol
          for attr, role in ((stmt.subj.delta, 'subj'), (stmt.obj.delta, 'obj')):
              all_adjectives = []
              for adj in deltas[(role, 'adjectives')]:
                  if isinstance(adj, list):
                      all_adjectives += adj
                  elif adj is not None:
                      all_adjectives.append(adj)
              attr['adjectives'] = all_adjectives
          stmts_out.append(stmt)
      return stmts_out