ValidationResult (File toFile, ValidationResult.Action action, boolean checkWriteable) { if (!toFile.exists() || toFile.isDirectory()) return null; ValidationResult result = validateProcessLock(toFile, action); if (result != null) return result; if (checkWriteable) { String problem = isWritable(toFile.toPath()); if (problem != null) { ValidationResult.Option[] options = {myPatch.isStrict() ? ValidationResult.Option.NONE : ValidationResult.Option.IGNORE}; return new ValidationResult(ValidationResult.Kind.ERROR, getReportPath(), action, UpdaterUI.message("access.denied"), problem, options); } } return null; }