docs: public synchronized static Authenticator registerAuthenticator() {
          if (sAuthenticator != null) {
              return sAuthenticator;
          }
  
          // Get the system property
          String authenticatorName = System.getProperty("java.net.Authenticator");
  
          // Try to get the Authenticator from the system property
          if (authenticatorName != null) {
              try {
                  Class authenticatorClass = Class.forName(authenticatorName);
  
                  sAuthenticator = (Authenticator) authenticatorClass.newInstance();
              }
              catch (ClassNotFoundException cnfe) {
                  // We should maybe rethrow this?
              }
              catch (InstantiationException ie) {
                  // Ignore
              }
              catch (IllegalAccessException iae) {
                  // Ignore
              }
          }
  
          // Get the default authenticator
          if (sAuthenticator == null) {
              sAuthenticator = SimpleAuthenticator.getInstance();
          }
  
          // Register authenticator as default
          Authenticator.setDefault(sAuthenticator);
          return sAuthenticator;
      }