@Override
	protected void compute() {
		if (end - start > 100) {
			int mid = (start + end) / 2;
			Task task1 = new Task(array, start, mid);
			Task task2 = new Task(array, mid, end);

			/*
			 * Start the sub-tasks
			 */
			task1.fork();
			task2.fork();

			/*
			 * Wait for the finalization of the sub-tasks
			 */
			task1.join();
			task2.join();
		} else {
			for (int i = start; i < end; i++) {
				array[i]++;

				try {
					TimeUnit.MILLISECONDS.sleep(5);
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
			}
		}
	}