private node calculateNewStateParameters(ArrayList<Object> currentTaskNode, ArrayList<ArrayList<Object>> newState) {
		node child = null;
		Task currentTaskNodeTask = (Task) currentTaskNode.get(0);
		actionStates currentActionState = (actionStates) currentTaskNode.get(1);
		double newCost = calculateCost(currentTaskNode, currentTaskNodeTask, currentActionState);
		int newCapacity = calculateCapacity(capacity, currentTaskNodeTask, currentActionState);
		
		if(currentActionState == actionStates.INITSTATE) {
			child = new node(vehicle, currentTaskNodeTask.pickupCity, newState, newCapacity, newCost, this);
		}
		else {
			child = new node(vehicle, currentTaskNodeTask.deliveryCity, newState, newCapacity, newCost, this);
		}
		children.add(child);
		
		return child;
	}