public void AttemptShare(Share share) { Service service = this.GetService(share.Service, () => { this.AttemptShare(share); }); if (service != null) { if (!service.Authenticated) { share.CallSilentFail(); this.Authenticate(service, () => { }); } else { this.CallShare( share, () => { share.CallSuccess(); }, () => { share.CallFailure(); }); } } }