Convierta un método para usar asíncrono

Estoy convirtiendo un proceso de autenticación para admitir asíncrono y VS 2015 IDE me advierte con el siguiente mensaje:El método asíncrono carece de operadores 'en espera' y se ejecutará sincrónicamente ... etc ...

De todos modos, el código se conecta a una tienda LDAP y verifica la cuenta de un usuario, etc. He intentado varias cosas con aguardar, pero me falta algo aquí. Puse el código de nuevo a lo que era antes. Agradecería cualquier orientación para que sea compatible con async correctamente ...

Aquí está el código:

public async Task<User> GetAsyncADUser(PrincipalContextParameter param)
    {
        try
        {

            if (UseLDAPForIdentityServer3)
            {
                using (var pc = new PrincipalContext(ContextType.Domain, param.ADDomain, param.ADServerContainer, param.ADServerUser, param.ADServerUserPwd))
                {
                    UserPrincipal userPrincipal = UserPrincipal.FindByIdentity(pc, param.UserNameToValidate);
                    if (userPrincipal != null)
                    {
                        bool isvalid = pc.ValidateCredentials(userPrincipal.DistinguishedName, param.UserPasswordToValidate, ContextOptions.SimpleBind);

                        if (isvalid)
                        {
                            User user = new User { ad_guid = userPrincipal.Guid.ToString(), Username = param.UserNameToValidate, Password = param.UserPasswordToValidate };
                            return user;
                        }
                    }
                }
            }

        }
        catch (Exception ex)
        {
            throw;
        }

        return null;

    }

Respuestas a la pregunta(4)

Su respuesta a la pregunta