@Override
    public List<ResolvedArtifact> resolve() {
        List<ResolvedArtifact> cachedResult = load();

        if (!cachedResult.isEmpty()) {
            LOGGER.fine(() -> "Classpath found in cache: " + cachedResult);
            return cachedResult;
        }

        List<ResolvedArtifact> result = delegate.resolve();
        save(result);
        return result;
    }
@param location The location to the cache.
@param referenceTimeInMillis Invalidate cache items if this time is newer than the cache item time.
@param delegate Resolver to delegate to when dependencies aren't cached.
smithy-cli/src/main/java/software/amazon/smithy/cli/dependencies/FileCacheResolver.java