private void checkCompleteTask(String input) throws IOException {
		Task mostRecentTask = new Task();
		ArrayList<Task> tasksToBeCompleted = new ArrayList<Task>();
		tasksToBeCompleted = searchForTask(input);

		if (tasksToBeCompleted.size() == 0) {
			UIHandler.getInstance().printToDisplayRed(MESSAGE_NO_ENTRY);

		} else if (tasksToBeCompleted.size() == 1) {
			Task targetTask = tasksToBeCompleted.get(0);
			mostRecentTask = targetTask;
			updateBackEnd(mostRecentTask);
			markTaskDescriptionAsComplete(mostRecentTask);

		} else if (tasksToBeCompleted.size() > 1) {

			ArrayList<Task> temp;
			temp = tasksToBeCompleted;
			displayArrayList(temp);
			UIHandler.getInstance().printToDisplay(
					MESSAGE_SPECIFY_INDEX_FOR_ISCOMPLETE);
			int[] inputForComplete = new int[N];

			try {
				inputForComplete = interp
						.askForAdditionalInformationForDelete();
				if (inputForComplete.length == 0) {
					UIHandler.getInstance().printToDisplayRed(
							MESSAGE_NO_INDEX_SPECIFIED);
				} else {
					for (int i = 0; i < inputForComplete.length; i++) {
						if (inputForComplete[i] <= temp.size()) {
							Task taskToBeDeleted = temp
									.get(inputForComplete[i] - 1);
							mostRecentTask = taskToBeDeleted;
							updateBackEnd(mostRecentTask);
							markTaskDescriptionAsComplete(mostRecentTask);
						}
					}
				}
			} catch (CancelDeleteException e) {
				return;
			}
		} else {
			UIHandler.getInstance().printToDisplayRed(
					MESSAGE_ERROR_INVALID_TASK);
		}
	}