private ArrayList<int[]> getSpaceSuggestions() {

		// Creates the "Vehicle Entering" message and updates the counter
		ZNetTxRequest message = new ZNetTxRequest(
				XBeeAddress64.ZNET_COORDINATOR, new int[]{
						'E', this.nextEntranceId, this.controllerId});
		this.nextEntranceId++;
		if (this.nextEntranceId > 255)
			this.nextEntranceId = 0;
		
		// Sends the message to the CCU, ensuring delivery through ACK's
		while(true) {
			try {
				ZNetTxStatusResponse response = (ZNetTxStatusResponse)this.xBee
						.sendSynchronous(message, 3000);
				if (response.isSuccess())
					break;
				else
					throw new XBeeException();
			} catch (XBeeException e) {
				continue; // Message failed, try again
			} // try-catch
		} // while - trying to send the message
		
		// Receives the list of space coordinates and packs them into the list
		ArrayList<int[]> suggestions = new ArrayList<int[]>();;
		while (true) {
			try {
				XBeeResponse response = this.xBee.getResponse();
				if (response.getApiId() == ApiId.ZNET_RX_RESPONSE) {
					ZNetRxResponse rxResponse = (ZNetRxResponse)response;
					if (rxResponse.getData()[0] == 'D') {
						for (int i = 1; i < rxResponse.getData().length; i+=4)
							suggestions.add(new int[]{
									(rxResponse.getData()[i] << 8) + 
									rxResponse.getData()[i + 1], 
									(rxResponse.getData()[i + 2] << 8) +
									rxResponse.getData()[i + 3]});
						break;
					} // if - correct response
				} // if - correct ApiId
			} catch (XBeeException e) {
				System.out.println("Error retreiving space coordinates");
			} // try-catch
		} // while - trying to receive space coordinates
		
		return suggestions;
	} // getSpaceSuggestions