public virtual async Task <TResult> OnUnmappedUserAsync <TResult>( string subject, IDictionary <string, string> extraParameters, EastFive.Azure.Auth.Method authentication, EastFive.Azure.Auth.Authorization authorization, IProvideAuthorization authorizationProvider, Uri baseUri, Func <Guid, TResult> onCreatedMapping, Func <TResult> onAllowSelfServeAccounts, Func <Uri, TResult> onInterceptProcess, Func <TResult> onNoChange) { if (authorizationProvider is Credentials.IProvideAccountInformation) { var accountInfoProvider = authorizationProvider as Credentials.IProvideAccountInformation; return(await accountInfoProvider .CreateAccount(subject, extraParameters, authentication, authorization, baseUri, this, onCreatedMapping, onAllowSelfServeAccounts, onInterceptProcess, onNoChange)); } return(onNoChange()); }