code: public Details getDetails() {
      // that web or installed, but not both
      Preconditions.checkArgument((web == null) != (installed == null));
      return web == null ? installed : web;
    }
docs: Returns the details for either installed or web applications.