public boolean CreateQueue(String queueName) 
			throws UnspecifiedErrorException, QueueAEException, IOException, InvalidHeaderException {
		final QueueCreateLogRecord record = new QueueCreateLogRecord(this, queueName);
		LOGGER.log(record);
		
		try {
			server.CreateQueue(queueName);
			
			LOGGER.log(new QueueCreateLogRecord(this, queueName, record));
			return true;
		} catch (UnspecifiedErrorException e) {
			LOGGER.log(new QueueCreateLogRecord(this, queueName, e, record));
			if (!suppressingErrors) throw e;
		}catch (QueueAEException e) {
            LOGGER.log(new QueueCreateLogRecord(this, queueName, e, record));
            if (!suppressingErrors) throw e;
        } catch (IOException e) {
            LOGGER.log(new QueueCreateLogRecord(this, queueName, e, record));
            if (!suppressingErrors) throw e;
        } catch (InvalidHeaderException e) {
            LOGGER.log(new QueueCreateLogRecord(this, queueName, e, record));
            if (!suppressingErrors) throw e;
        } 
		return false;
	}