class DesugarIncrementalTransformHelper {

    @NonNull
    Set<Path> getAdditionalPaths() throws InterruptedException {
        if (!invocation.isIncremental()) {
            return ImmutableSet.of();
        }

        Stopwatch stopwatch = Stopwatch.createStarted();
        logger.verbose("Desugaring dependencies incrementally.");

        Set<Path> additionalPaths = new HashSet<>();
        for (Path changed : changedPaths.get()) {
            for (Path path : desugaringGraph.get().getDependentPaths(changed)) {
                if (!changedPaths.get().contains(path)) {
                    additionalPaths.add(path);
                }
            }
        }

        logger.verbose(
                "Time to calculate desugaring dependencies: %d",
                stopwatch.elapsed(TimeUnit.MILLISECONDS));
        logger.verbose("Additional paths to desugar: %s", additionalPaths.toString());
        return additionalPaths;
    }

      DesugarIncrementalTransformHelper(
            @NonNull String projectVariant,
            @NonNull TransformInvocation invocation,
            @NonNull WaitableExecutor executor);

}