code: public List<AndroidManifest> getAllManifests() {
      Set<AndroidManifest> seenManifests = new HashSet<>();
      List<AndroidManifest> uniqueManifests = new ArrayList<>();
      addTransitiveManifests(seenManifests, uniqueManifests);
      return uniqueManifests;
    }
docs: Returns all transitively reachable manifests, including this one, in order and without
  duplicates.