@Override
	public boolean importData(TransferHandler.TransferSupport info)
	{
		GlobalLogger.getLogger().logp(Level.INFO, this.getClass().getName(),
				"importData", "importData called.");

		if (!info.isDrop())
		{
			return false;
		}

		// We need to get the drop location
		DropLocation dl = info.getDropLocation();

		// Get the task that is being dropped.
		Transferable t = info.getTransferable();
		Task taskRef;
		try
		{
			taskRef = (Task) t.getTransferData(new DataFlavor(Task.class,
					"Task"));
		}
		catch (Exception e)
		{
			return false;
		}

		if (taskRef == null)
		{
			GlobalLogger.getLogger().logp(Level.INFO,
					this.getClass().getName(), "importData(TransferSupport)",
					"Failed to get task from import data");
			return false;
		}

		ArrayList<Task> tasks = Timeflecks.getSharedApplication().getTaskList()
				.getTasks();
		for (Task t1 : tasks)
		{
			if (t1.getId() == taskRef.getId())
			{
				taskRef = t1;
				break;
			}
		}

		// Now we just set the currently selected time from the dropLocation in
		// the Task
		Point selectedPoint = dl.getDropPoint();

		// We know that it is a valid time, so we just got that time and now we
		// are going to set it into the start time for the task.

		if (!(info.getComponent() instanceof CalendarPanel))
		{
			return false;
		}

		CalendarPanel p = (CalendarPanel) (info.getComponent());
		Date date = p.getDateForPoint(selectedPoint);

		if (date == null)
		{
			// If this was invalid in any way, return false
			return false;
		}

		// We actually got the date, so we are good to go
		taskRef.setStartTime(date);

		// Otherwise, let it keep its original duration
		if (!taskRef.isScheduled())
		{
			taskRef.setDuration(1000 * 60 * 60); // Set the duration to 1 hr,
													// which is 1000ms = 1s * 60
													// = 1 min * 60 = 1hr
		}

		try
		{
			taskRef.saveToDatabase();
		}
		catch (Exception ex)
		{
			ExceptionHandler.handleDatabaseSaveException(ex, this.getClass()
					.getName(), "importData", "2102");
		}

		// System.out.println("Time: " + taskRef.getStartTime());

		Timeflecks.getSharedApplication().postNotification(
				TimeflecksEvent.INVALIDATED_FILTERED_TASK_LIST);

		// Timeflecks.getSharedApplication().postNotification(TimeflecksEvent.EVERYTHING_NEEDS_REFRESH);

		return true;
	}