code: public String getName() {
  		switch (messageType) {
  		case ALLOCATE_REQUEST:
  			return "ALLOCATE-REQUEST";
  		case ALLOCATE_RESPONSE:
  			return "ALLOCATE-RESPONSE";
  		case ALLOCATE_ERROR_RESPONSE:
  			return "ALLOCATE-ERROR-RESPONSE";
  		case BINDING_REQUEST:
  			return "BINDING-REQUEST";
  		case BINDING_SUCCESS_RESPONSE:
  			return "BINDING-RESPONSE";
  		case BINDING_ERROR_RESPONSE:
  			return "BINDING-ERROR-RESPONSE";
  		case CREATEPERMISSION_REQUEST:
  			return "CREATE-PERMISSION-REQUEST";
  		case CREATEPERMISSION_RESPONSE:
  			return "CREATE-PERMISSION-RESPONSE";
  		case CREATEPERMISSION_ERROR_RESPONSE:
  			return "CREATE-PERMISSION-ERROR-RESPONSE";
  		case DATA_INDICATION:
  			return "DATA-INDICATION";
  		case REFRESH_REQUEST:
  			return "REFRESH-REQUEST";
  		case REFRESH_RESPONSE:
  			return "REFRESH-RESPONSE";
  		case REFRESH_ERROR_RESPONSE:
  			return "REFRESH-ERROR-RESPONSE";
  		case SEND_INDICATION:
  			return "SEND-INDICATION";
  		case SHARED_SECRET_REQUEST:
  			return "SHARED-SECRET-REQUEST";
  		case SHARED_SECRET_RESPONSE:
  			return "SHARED-SECRET-RESPONSE";
  		case SHARED_SECRET_ERROR_RESPONSE:
  			return "SHARED-SECRET-ERROR-RESPONSE";
  		default:
  			return "UNKNOWN-MESSAGE";
  		}
  	}
docs: Returns the human readable name of this message. Message names do not
  really matter from the protocol point of view. They are only used for
  debugging and readability.
  
  @return this message's name.