def METHOD_NAME(self, new_event, cloners, shared_data, event_exists=False):
    self._clone_nested_attachments = False
    self._event_role_map = self._session_map = self._contrib_map = self._subcontrib_map = self._regform_map = None
    if cloners >= {'sessions', 'contributions'}:
        self._clone_nested_attachments = True
        self._session_map = shared_data['sessions']['session_map']
        self._contrib_map = shared_data['contributions']['contrib_map']
        self._subcontrib_map = shared_data['contributions']['subcontrib_map']
    if 'event_roles' in cloners:
        self._event_role_map = shared_data['event_roles']['event_role_map']
    if 'registration_forms' in cloners:
        self._regform_map = shared_data['registration_forms']['form_map']
    self._attachment_map = {}
    with db.session.no_autoflush:
        self._clone_attachments(new_event)
    db.session.flush()
    if event_exists:
        for attachment in self._attachment_map.values():
            signals.attachments.attachment_created.send(attachment, user=attachment.user)