code: public OutboundResourceAdapter merge(MergeableMetadata<?> jmd) throws Exception
     {
        if (jmd instanceof OutboundResourceAdapterImpl)
        {
           OutboundResourceAdapterImpl input = (OutboundResourceAdapterImpl) jmd;
  
           String newId = this.id == null ? input.id : this.id;
           String newTransactionSupportId = this.transactionSupportId == null ?
              input.transactionSupportId : this.transactionSupportId;
           String newReauthenticationSupportId = this.reauthenticationSupportId == null ?
              input.reauthenticationSupportId : this.reauthenticationSupportId;
  
           List<ConnectionDefinition> newConnDef = new ArrayList<ConnectionDefinition>(this.connectionDefinition.size());
  
           newConnDef.addAll(this.connectionDefinition);
           for (ConnectionDefinition rcd : input.connectionDefinition)
           {
              boolean isNew = true;
              for (ConnectionDefinition lcd : this.connectionDefinition)
              {
                 if (lcd.getManagedConnectionFactoryClass() == null ||
                     rcd.getManagedConnectionFactoryClass().equals(lcd.getManagedConnectionFactoryClass()))
                 {
                    newConnDef.remove(lcd);
                    newConnDef.add(lcd.merge(rcd));
                    isNew = false;
                 }
              }
              if (isNew)
                 newConnDef.add(rcd);
           }
  
           TransactionSupportEnum newTransactionSupport = this.transactionSupport == null
              ? input.transactionSupport
              : this.transactionSupport;
  
           boolean newReauthenticationSupport = this.reauthenticationSupport || input.reauthenticationSupport;
           List<AuthenticationMechanism> newAuthenticationMechanism = MergeUtil.mergeList(this.authenticationMechanism,
              input.authenticationMechanism);
           return new OutboundResourceAdapterImpl(newConnDef, newTransactionSupport, newAuthenticationMechanism,
                                                  newReauthenticationSupport, newId, newTransactionSupportId,
                                                  newReauthenticationSupportId);
        }
        else
        {
           return this;
        }
     }
docs: {@inheritDoc}