protected virtual PickerEntity GetPickerEntity(Auth0.User auth0User, string claimEntityType)
        {
            PickerEntity pe = CreatePickerEntity();
            SPClaim claim = null;

            if (claimEntityType == SPClaimEntityTypes.User)
            {
                claim = new SPClaim(
                    this.identifierClaimType,
                    string.IsNullOrEmpty(this.auth0Config.IdentifierUserField) || this.auth0Config.IdentifierUserField == "Email" ?
                        auth0User.UniqueEmail() :
                        Utils.GetPropValue(auth0User, this.auth0Config.IdentifierUserField).ToString(),
                    Microsoft.IdentityModel.Claims.ClaimValueTypes.String,
                    SPOriginalIssuers.Format(SPOriginalIssuerType.TrustedProvider, this.associatedSPTrustedLoginProvider.Name));

                var displayText = !string.IsNullOrEmpty(auth0User.FamilyName) && !string.IsNullOrEmpty(auth0User.GivenName) ?
                    string.Format("{0} {1}", auth0User.GivenName, auth0User.FamilyName) : auth0User.Name;

                pe.DisplayText =
                    !string.IsNullOrEmpty(displayText) ?
                        string.Format("{0} ({1})", displayText, auth0User.Email) :
                        auth0User.Email;

                pe.Description = string.Format(
                    "Email: {0}; Name: {1}",
                    auth0User.Email,
                    auth0User.Name);

                pe.EntityType = SPClaimEntityTypes.User;
                pe.EntityData[PeopleEditorEntityDataKeys.DisplayName] = displayText;
                pe.EntityData[PeopleEditorEntityDataKeys.Email] = auth0User.Email;
                pe.EntityData["Picture"] = auth0User.Picture;
            }
            else if (claimEntityType == SPClaimEntityTypes.FormsRole)
            {
                claim = new SPClaim(
                    ConnectionClaimType,
                    auth0User.Identities.First().Connection,
                    Microsoft.IdentityModel.Claims.ClaimValueTypes.String,
                    SPOriginalIssuers.Format(SPOriginalIssuerType.TrustedProvider, this.associatedSPTrustedLoginProvider.Name));

                pe.DisplayText = string.Format(
                    "All Users ({0})",
                    auth0User.Identities.First().Connection);

                pe.Description = string.Format(
                    "[{0}] All Users from '{1}'",
                    ProviderInternalName,
                    auth0User.Identities.First().Connection);

                pe.EntityType = SPClaimEntityTypes.FormsRole;
            }

            pe.Claim = claim;
            pe.IsResolved = true;
            pe.EntityGroupName = this.pickerEntityGroupName;

            return pe;
        }