memoize() public static method

Ensures that cached credentials are refreshed when they expire.
public static memoize ( callable $provider ) : callable
$provider callable Credentials provider function to wrap.
return callable
 /**
  * This function keeps state for the credential provider
  * @return mixed
  */
 private function getCredentialProvider()
 {
     if ($this->CredentialProvider) {
         return $this->CredentialProvider;
     }
     $provider = $this->getCredentials();
     $this->CredentialProvider = CredentialProvider::memoize($provider);
     return $this->CredentialProvider;
 }