public static Task <SOAPPrincipal> findPrincipalAsync(this SecurityServer s, AuthenticatedToken t, string u) { var tcs = CreateSource <SOAPPrincipal>(null); s.findPrincipalWithAttributesByNameCompleted += (send, args) => TransferCompletion(tcs, args, () => args.Result, null); s.findPrincipalWithAttributesByNameAsync(t, u); return(tcs.Task); }