Allow commands to operate over system apps, in addition to user apps.

Sorry, you're right. Its the method above that doesn't allow overriding of system apps. Both Apps will be added to the ArrayList. I would have thought this should be a Map<AppName,App> where user apps are added last so they overrule any system apps that are already there.