code: private void sendUsingConnection(Destination destination, Message message, int deliveryMode, int priority, long timeToLive) throws JMSException {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(this, tc, "sendUsingConnection", new Object[] { destination, message, deliveryMode, priority, timeToLive });
  
          // if the producer is closed throw a JMSException.
          checkClosed();
          // check for sync/async conflicts
          session.checkSynchronousUsage("send");
  
          // if the supplied message is null, throw a jms MessageFormatException.
          if (message == null) {
              throw (MessageFormatException) JmsErrorUtils.newThrowable(
                                                                        MessageFormatException.class,
                                                                        "INVALID_VALUE_CWSIA0068",
                                                                        new Object[] { "message", null },
                                                                        tc);
          }
  
          //validates destination and if it is successful gives native destination.
          JmsDestinationImpl nativeDest = validateDestination(destination);
  
          // Create a new ProducerProps on the fly for these parameters.
          ProducerProperties pp = new ProducerProperties(nativeDest, this, session.getPassThruProps(), null, null);
          pp.setInDeliveryMode(deliveryMode);
          pp.setInPriority(priority);
          pp.setInTTL(timeToLive);
  
          // Delegate to the internal send method.
          sendMessage(pp, message, nativeDest);
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(this, tc, "sendUsingConnection");
  
      }
docs: This method is internal method which would send message to ME on top
  of connection. This is called from Sync send and Async Send. In case of Sync send
  it would have guarded with monitor sessionSyncLock.
  
  @param destination
  @param message
  @param deliveryMode
  @param priority
  @param timeToLive
  @throws JMSException