private static void CreatedTask(jpvmTaskId client, jpvmBuffer req) {
		int count = -1;
		jpvmTaskId child = null;
		int orderNum = -1;

		try {
			count = req.upkint();
			if(count==1) {
				child = req.upktid();
				orderNum = req.upkint();
			}
		}
		catch (jpvmException jpe) {
			perror("CreatedTask, bad report from "+
				client.toString());
		}

		// Look up which spawn order this is in regards to
		jpvmSpawnWorkOrder order;
		order = spawnOrders.lookup(orderNum);

		if(order==null) {
			perror("CreatedTask, order number " + orderNum +
				" is not valid");
			return;
		}

		// Update the status of the order
		order.tids[order.numDone] = child;
		order.numDone ++;

		if(order.numDone == order.num) {
			// The order is complete - return the good
			// news to the original client
			jpvmBuffer buf = new jpvmBuffer();
			buf.pack(order.numDone);
			buf.pack(order.tids,order.numDone,1);
			try {
	  			jpvm.pvm_send(buf,order.client,
					jpvmDaemonMessageTag.jpvmdSpawnTask);
			}
			catch (jpvmException jpe) {
				perror("CreatedTask, \""+jpe+"\" sending to client "
                       			+ order.client.toString());
			}

			// Throw away the order
			spawnOrders.doneOrder(order);
		}
	}