anchor.diff:  "! <p>
   "! <em>LCL_2FA_AUTHENTICATOR_REGISTRY</em> can be used to find a suitable implementation for a given
   "! repository.
  +"! </p>
  +"! <p>
  +"! Using the <em>begin</em> and <em>end</em> methods an internal session can be started and
  +"! completed in which internal state necessary for multiple methods will be cached. This can be
  +"! used to avoid having multiple http sessions between <em>authenticate</em> and
  +"! <em>delete_access_tokens</em>.
   "! </p>
   INTERFACE lif_2fa_authenticator.
     METHODS:
  
positive.code:       EXPORTING
          iv_error_text = |Communication error: { lv_error_msg }| ##NO_TEXT.
    ENDMETHOD.
  ENDCLASS.
  
  CLASS lcl_2fa_github_authenticator DEFINITION
  
negative.code:       supports_url FOR lif_2fa_authenticator~supports_url,
        get_service_id_from_url FOR lif_2fa_authenticator~get_service_id_from_url,
        is_2fa_required FOR lif_2fa_authenticator~is_2fa_required,
        delete_access_tokens FOR lif_2fa_authenticator~delete_access_tokens,
        begin FOR lif_2fa_authenticator~begin,
        end FOR lif_2fa_authenticator~end.
      METHODS:
        "! @parameter iv_supported_url_regex | Regular expression to check if a repository url is
        "!                                     supported, used for default implementation of
  