code: @Override
      public SIUncoordinatedTransaction createUncoordinatedTransaction()
                      throws SIIncorrectCallException, SIConnectionUnavailableException,
                      SIResourceException {
  
          if (TraceComponent.isAnyTracingEnabled() && TRACE.isEntryEnabled()) {
              SibTr.entry(this, TRACE, "createUncoordinatedTransaction");
          }
  
          checkValid();
  
          // Check we don't already have an active application local transaction
          if (_applicationLocalTransaction != null) {
  
              final SIIncorrectCallException exception = new SIIncorrectCallException(
                              NLS.getString("ACTIVE_LOCAL_TRAN_CWSIV0150"));
              if (TraceComponent.isAnyTracingEnabled() && TRACE.isEventEnabled()) {
                  SibTr.exception(this, TRACE, exception);
              }
              throw exception;
  
          }
  
          // Check that there isn't an active container transaction
          if (getContainerTransaction() != null) {
  
              final SIIncorrectCallException exception = new SIIncorrectCallException(
                              NLS.getString("ACTIVE_CONTAINER_TRAN_CWSIV0151"));
              if (TraceComponent.isAnyTracingEnabled() && TRACE.isEventEnabled()) {
                  SibTr.exception(this, TRACE, exception);
              }
              throw exception;
  
          }
  
          _applicationLocalTransaction = new SibRaUncoordinatedTransaction(
                          _delegateConnection.createUncoordinatedTransaction());
  
          if (TraceComponent.isAnyTracingEnabled() && TRACE.isEntryEnabled()) {
              SibTr.exit(this, TRACE, "createUncoordinatedTransaction",
                         _applicationLocalTransaction);
          }
          return _applicationLocalTransaction;
      }
docs: Creates an <code>SIUncoordinatedTransaction</code> to represent an
  application local transaction. Checks that the connection is valid and
  there is not currently an application local transaction or container
  transaction. Delegates and wraps the returned
  <code>SIUncoordinatedTransaction</code> in order to intercept
  completion calls.
  
  @return an <code>SIUncoordinatedTransaction</code>
  @throws SIIncorrectCallException
  if there is still an active application local transaction
  associated with this connection or if there is an active
  container transaction
  @throws SIResourceException