@SafeVarargs
 public final <T> int add(
     final ManagedAsyncTask<T, ?, ?> task, final boolean exec, final T... params) {
   final int hashCode = task.hashCode();
   mTasks.add(task);
   if (exec) {
     execute(hashCode, params);
   }
   return hashCode;
 }
 private ManagedAsyncTask<?, ?, ?> findTask(final int hashCode) {
   for (final ManagedAsyncTask<?, ?, ?> task : getTaskSpecList()) {
     if (hashCode == task.hashCode()) return task;
   }
   return null;
 }