docs: @Requires("roundEnv != null")
    @Ensures("result != null")
    protected Set<TypeElement> getContractedRootElements(
        RoundEnvironment roundEnv) {
      Set<? extends Element> allElements = roundEnv.getRootElements();
      Set<TypeElement> contractedRootElements =
          new HashSet<TypeElement>(allElements.size());
  
      ContractFinder cf = new ContractFinder(utils);
      for (Element e : allElements) {
        if (e.accept(cf, null)) {
          contractedRootElements.add(getRootElement(e));
        }
      }
  
      return contractedRootElements;
    }