@Override
  public InstrumentationClassFinder.Resource getResource(String name) {
    final InstrumentationClassFinder.Resource cached = myCache.get(name);
    if (cached != null) {
      return cached != NULL_RESOURCE ? cached : null;
    }
    try {
      for (Path root : getRoots()) {
        final Path path = root.resolve(name);
        if (Files.exists(path)) {
          final InstrumentationClassFinder.Resource res = () -> Files.newInputStream(path, StandardOpenOption.READ);
          myCache.put(name, res);
          return res;
        }
      }
    }
    catch (IOException e) {
      e.printStackTrace();
    }
    myCache.put(name, NULL_RESOURCE);
    return null;
  }
@Override
  public InstrumentationClassFinder.Resource getResource(String name)