private void createAndExecuteTasks(Executor executor,ProcedureFactory<BT> procedureFactory,T[] array){
  this.procedures=new ArrayProcedureFJTask[this.taskCount];
  int sectionSize=array.length / this.taskCount;
  int size=this.taskCount;
  for (int index=0; index < size; index++) {
    ArrayProcedureFJTask<T,BT> procedureFJTask=new ArrayProcedureFJTask<>(this,procedureFactory,array,index,sectionSize,index == this.taskCount - 1);
    this.procedures[index]=procedureFJTask;
    executor.execute(procedureFJTask);
  }
}

private void createAndExecuteTasks ( Executor executor , ProcedureFactory < BT > procedureFactory , T [ ] array ) { this . procedures = new ArrayProcedureFJTask [ this . taskCount ] ; int sectionSize = array . length / this . taskCount ; int size = this . taskCount ; for ( int index = 0 ; index < size ; index ++ ) { ArrayProcedureFJTask < T , BT > procedureFJTask = new ArrayProcedureFJTask < > ( this , procedureFactory , array , index , sectionSize , index == this . taskCount - 1 ) ; this . procedures [ index ] = procedureFJTask ; executor . execute ( procedureFJTask ) ; } }
creates an array of procedurefjtasks wrapping procedures created by the specified procedurefactory .
