All not linked ouptuts can trigger a resolution. But BlackHole has no output. So, it is usefull for ForEach tool.
var process = Matis.Process(function() {
this.Path = Matis.tools.Constant('mypath/subpath');
this.List = Matis.tools.ReadDir();
this.IsJavascript = Matis.tools.MatchRegexp('\\.js$');
this.IsTest = Matis.tools.MatchRegexp('spec');
this.Loop = Matis.tools.ForEach({
tool: this.IsJavascript,
output: "no"
});
this.Garbage = Matis.tools.BlackHole();
}, [
"Path > List > Loop",
"IsJavascript:yes > IsTest",
"IsJavascript:no > Garbage"
]);
Without the BlackHole, this process would filter no file because all the no outputs are outputs of the ForEach
.