public static void SwapPrepareTask(String typeId, String flowID, boolean up, boolean top, boolean bottom) {
		TaskInfoStorage tis = ThreadWorkerDispatcher.taskInfoStorageMap.get(typeId);
		if (tis != null) {
			LinkedHashMap<String, TaskThread> perparing = tis.PREPARING_TASK;
			for (Entry<String, TaskThread> taskThreadEntrys : perparing.entrySet()) {
				TaskThread tt = taskThreadEntrys.getValue();
				String flowId = tt.getFlowId();
				if (flowId.equals(flowID)) {
					synchronized (tis.PREPARING_TASK_QUEUE) {
						int currentPos = 0;
						if (top) {
							currentPos = tis.PREPARING_TASK_QUEUE.indexOf(tt);
							tis.PREPARING_TASK_QUEUE.remove(currentPos);
							tis.PREPARING_TASK_QUEUE.set(0, tt);
							return;
						}
						if (bottom) {
							currentPos = tis.PREPARING_TASK_QUEUE.indexOf(tt);
							tis.PREPARING_TASK_QUEUE.remove(currentPos);
							tis.PREPARING_TASK_QUEUE.set(tis.PREPARING_TASK_QUEUE.size() - 1, tt);
							return;
						}
						if (up) {
							if (currentPos > 0) {
								currentPos = tis.PREPARING_TASK_QUEUE.indexOf(tt);
								TaskThread temptt = tis.PREPARING_TASK_QUEUE.get(currentPos - 1);
								tis.PREPARING_TASK_QUEUE.set(currentPos - 1, tt);
								tis.PREPARING_TASK_QUEUE.set(currentPos, temptt);
								return;
							}
						} else if (!up) {
							if (currentPos != (tis.PREPARING_TASK_QUEUE.size() - 1)) {
								currentPos = tis.PREPARING_TASK_QUEUE.indexOf(tt);
								TaskThread temptt = tis.PREPARING_TASK_QUEUE.get(currentPos - 1);
								tis.PREPARING_TASK_QUEUE.set(currentPos + 1, tt);
								tis.PREPARING_TASK_QUEUE.set(currentPos, temptt);
								return;
							}
						}
						break;
					}

				}
			}
		}
	}