File (@NotNull BuildTargetType<?> targetType, @NotNull String targetId) { // targetId may diff from another targetId only in case // when used as a file name in case-insensitive file systems, both paths for different targets will point to the same dir return new File(getTargetTypeDataRoot(targetType), PathUtilRt.suggestFileName(targetId + "_" + Integer.toHexString(targetId.hashCode()), true, false)); }