code: public String getAccessToken() {
          if (this.autoRefresh && this.canRefresh() && this.needsRefresh()) {
              this.refreshLock.writeLock().lock();
              try {
                  if (this.needsRefresh()) {
                      this.refresh();
                  }
              } finally {
                  this.refreshLock.writeLock().unlock();
              }
          }
  
          return this.accessToken;
      }
docs: Gets an access token that can be used to authenticate an API request. This method will automatically refresh the
  access token if it has expired since the last call to <code>getAccessToken()</code>.
  @return a valid access token that can be used to authenticate an API request.