code: def process_new_issues(self, volumes, existing_issues):
          
          new_issues = {}
          for issue_id, volume in volumes.items():
              state = EBSIssueState.DETECTED.value
  
              if issue_id in existing_issues:
                  issue = existing_issues[issue_id]
  
                  data = {
                      'state': state,
                      'notes': issue.notes,
                      'last_notice': issue.last_notice
                  }
                  if issue.update(data):
                      new_issues.setdefault(issue.volume.account, []).append(issue)
                      self.log.debug('Updated EBSVolumeAuditIssue {}'.format(
                          issue_id
                      ))
  
              else:
                  properties = {
                      'volume_id': volume.id,
                      'account_id': volume.account_id,
                      'location': volume.location,
                      'state': state,
                      'last_change': datetime.now(),
                      'last_notice': None,
                      'notes': []
                  }
  
                  issue = EBSVolumeAuditIssue.create(issue_id, properties=properties)
                  new_issues.setdefault(issue.volume.account, []).append(issue)
  
          return new_issues
docs: Takes a dict of existing volumes missing tags and a dict of existing issues, and finds any new or updated
          issues.
  
          Args:
              volumes (:obj:`dict` of `str`: `EBSVolume`): Dict of current volumes with issues
              existing_issues (:obj:`dict` of `str`: `EBSVolumeAuditIssue`): Current list of issues
  
          Returns:
              :obj:`dict` of `str`: `EBSVolumeAuditIssue`