public override IErrors ValidateTyped(Diagram tree, ValidationContext context) { if (tree.Path != null) { var path = new Path(tree.Path); var folder = _renderSettings.ImageFolder; bool diagramExists = _provider.IsValidDiagramPath(path, folder); if (!diagramExists) { var error = new Error($@"Enterprise Architect diagram with path [{path}] does not exist"); return(new ValidationFailure(error)); } } if (tree.PackagePath != null) { var path = new Path(tree.PackagePath); var folder = _renderSettings.ImageFolder; bool packageExists = _provider.IsValidPackagePath(path, folder); if (!packageExists) { var error = new Error($@"Enterprise Architect diagram with path [{path}] does not exist"); return(new ValidationFailure(error)); } } return(new Valid()); }