docs: @Override
      public void start(final BaseCallback<Authentication, AuthenticationException> callback) {
          credentialsRequest.start(new BaseCallback<Credentials, AuthenticationException>() {
              @Override
              public void onSuccess(final Credentials credentials) {
                  userInfoRequest
                          .addHeader(HEADER_AUTHORIZATION, "Bearer " + credentials.getAccessToken())
                          .start(new BaseCallback<UserProfile, AuthenticationException>() {
                              @Override
                              public void onSuccess(UserProfile profile) {
                                  callback.onSuccess(new Authentication(profile, credentials));
                              }
  
                              @Override
                              public void onFailure(AuthenticationException error) {
                                  callback.onFailure(error);
                              }
                          });
              }
  
              @Override
              public void onFailure(AuthenticationException error) {
                  callback.onFailure(error);
              }
          });
      }