private void processReceiveRequest(FreeDoitSendReceiveRequest reuqestObject, 
			FreeDoitSendReceiveResponse responseObject, Long userId, 
			Long clientId, Timestamp now) {
		
		// Process Task
		Timestamp dateTimestamp = null;
		if (FreeDoitDataUtils.NO_TIMESTAMP_KEY.compareTo(reuqestObject.getTimestamp()) != 0) {
			dateTimestamp = new Timestamp(reuqestObject.getTimestamp());
		}
		
		// Projects
		List<Project> latestProjectList = DAOFactory.getProjectDAO().findLatest(userId, 
				clientId, dateTimestamp, now);
		if (latestProjectList != null && !latestProjectList.isEmpty()) {
			List<SharedProject> projectResponseList = new LinkedList<SharedProject>();
			for (Project p : latestProjectList) {
				projectResponseList.add(new SharedProject(null, p.getProjectId(), p.getProjectName(), 
						p.getComment(), p.getCreateDate(), p.getStartDate(), p.getDueDate(), p.getStatus()));
			}
			responseObject.setReceiveProjects(projectResponseList);
		}
		
		// Task
		List<Task> latestTaskList = DAOFactory.getTaskDAO().findLatest(userId, 
				clientId, dateTimestamp, now);
		if (latestTaskList != null && !latestTaskList.isEmpty()) {
			List<SharedTask> taskResponseList = new LinkedList<SharedTask>();
			for (Task t : latestTaskList) {
				taskResponseList.add(new SharedTask(null, t.getTaskId(), t.getTaskTypeId(), t.getProjectId(),
						t.getTaskName(), t.getDescription(), t.getStartDate(), t.getDueDate(), t.getFinishDate(),
						t.getStartTime(), t.getDueTime(), t.getFinishTime(), t.getFinished(), t.getTaskTag(),
						t.getStatus()));
			}
			responseObject.setReceiveTasks(taskResponseList);
		}
		
		// Task Type
//		if (dateTimestamp == null) {
//			List<TaskType> latestTaskTypeList = DAOFactory.getTaskTypeDAO().findAll();
//			if (latestTaskTypeList != null && !latestTaskTypeList.isEmpty()) {
//				List<SharedTaskType> taskTypeResponseList = new LinkedList<SharedTaskType>();
//				for (TaskType t : latestTaskTypeList) {
//					taskTypeResponseList.add(new SharedTaskType(null, t.getTaskTypeId(), t.getTaskTypeName(), 
//							t.getTaskTypeDescrition(), t.getStatus()));
//				}
//				responseObject.setReceiveTaskTypes(taskTypeResponseList);
//			}
//		}
	}