public CallbackTaskResult open(boolean activate) {
CallbackTaskResult rv = null;
for (int i = 0; i < tasks.length; i++)
if (i == 0) {
rv = tasks[i].open(activate);
if (!rv.suceeded() || (rv.suceeded() && !((Boolean) rv.getResult()).booleanValue()))
return rv;
} else if (i == 1)
rv = tasks[i].open(activate);
else
rv = tasks[i].open(false);