public async Task<ServiceEvent<AppInfo[]>> GetUserApplications()
{
if (!app.Initialized) throw new Exception("The application was not initialized.");
if (app.User == null || app.User.TokenMarketplace == null) throw new Exception("User is not authenticated.");
var apps = await Url.Concat("api/myapps").ExecuteAsync<JArray>(app, useToken:authentication.UseToken.Marketplace);
var array = apps.Data == null ?
new AppInfo[0] :
apps
.Data
.Select(a => new AppInfo((JObject)a))
.ToArray();
return apps.Clone<AppInfo[]>(array);
}