public int computeConfigurationHash(@Nullable PathRelativizerService pathRelativizerService) {
    int result;
    if(pathRelativizerService == null) {
      result = directory.hashCode();
      result = 31 * result + (targetPath != null ? targetPath.hashCode() : 0);
    } else {
      result = pathRelativizerService.toRelative(directory).hashCode();
      result = 31 * result + (targetPath != null ? pathRelativizerService.toRelative(targetPath).hashCode() : 0);
    }

    result = 31 * result + (isFiltered ? 1 : 0);
    result = 31 * result + includes.hashCode();
    result = 31 * result + excludes.hashCode();
    for (ResourceRootFilter filter : filters) {
      result = 31 * result + filter.computeConfigurationHash();
    }
    return result;
  }
public int computeConfigurationHash(@Nullable PathRelativizerService pathRelativizerService)