public byte[] ReceiveByteACK() {
		// Prep
		int read = 0;
		byte[] fetched = null;

		// Wait (block) for data
		try {
			while (receive.available() == 0) {
				try {
					Thread.sleep(1);
				} catch (InterruptedException e) {
					mylog.out("ERROR", "Failed to sleep while waiting for data over the network.");
				}
			}
		} catch (IOException e2) {
			mylog.out("ERROR", "Failed to determine if data would/was arriving on the network so we could wait for it.");
		}

		// Data has arrived
		try {
			fetched = new byte[32];
			try {
				read = receive.read(fetched, 0, 32);
				if (VERBOSE) {
					mylog.out("INFO", "Read [" + read + "] bytes.");
				}
			} catch (IOException e1) {
				mylog.out("ERROR", "Failed to RECEIVE data STRING");
				fetched = null;
			}
		} finally {
			if (read <= 0) {
				mylog.out("ERROR", "Failed to read anything from the input stream.");
			}
		}
		return fetched;
	}