I've found that if you use the execute() method inside a dependency, the following dependencies will not run. I guess if you run execute then it returns the control to the parent task? Not sure.
desc('Default task');
task('default', ['task1', 'task2'], function() {
console.log('Default task is a task that depends on task1 and task2. Since task1 calls execute.. task2 never happens.');
});
desc('task1 calls execute subtask');
task('task1', [], function() {
jake.Task['subtask'].execute();
//jake.Task['subtask'].execute.apply(jake.Task['subtask'], arguments);
});
desc('task2 runs as a part of default deps');
task('task2', [], function() {
console.log('If this works, then task1 didnt break the dependencies');
});
desc('subtask should break the flow when executed()');
task('subtask', [], function(){
console.log('Executing subtask');
});