add Task#total_number_basic_task
add CompositeTask#total_number_basic_tasks
add ArrayIterator