if (type == PROGRESS) {
p.progress(new Function(){public void f() {
settle(PROGRESS, getArguments());
}});
} else {
p.always(new Function(){public void f() {
settle((type == DONE || type == FAIL && cont) && p.isResolved() ? DONE : FAIL, getArguments());
}});
}
} else {
// Otherwise we change the arguments by the new ones