class FileOrDirectoryTaskOutput extends AbstractTaskOutput implements SingleOrMultipleTaskOutput {

    public static FileOrDirectoryTaskOutput file(File file) {
        if (file == null || (file.exists() && !file.isFile())) {
            throw new IllegalArgumentException("A valid instance is expected (not null or existing file).");
        }
        return new FileOrDirectoryTaskOutput(file);
    }

    public  FileOrDirectoryTaskOutput(File file);

}