public void delete() {
		
		if (pendingDelete = (ongoingClientTransactions != null && !ongoingClientTransactions.isEmpty())) {
			// ongoing client txs, need those to end first
			return;
		}
		
		final DialogState currentState = wrappedDialog != null ? wrappedDialog.getState() : null;
		boolean isServerFlag = wrappedDialog != null ? wrappedDialog.isServer() : false; // is false ok, here?
		boolean stackDoesNotFiresDialogTerminatedEvent = !isEnding()
			&& !isServerFlag && (currentState == null || currentState == DialogState.TERMINATED);

		if (wrappedDialog != null) {
			wrappedDialog.delete();
		} else {
			if (tracer.isFineEnabled()) {
				tracer.fine("wrappedDialog is not set, skipping deletion.");
			}
		}
		if (stackDoesNotFiresDialogTerminatedEvent) {
			ra.processDialogTerminated(this);
		}
	}
public void delete ( ) { if ( pendingDelete = ( ongoingClientTransactions != null && ! ongoingClientTransactions . isEmpty ( ) ) ) { return ; } final DialogState currentState = wrappedDialog != null ? wrappedDialog . getState ( ) : null ; boolean isServerFlag = wrappedDialog != null ? wrappedDialog . isServer ( ) : false ; boolean stackDoesNotFiresDialogTerminatedEvent = ! isEnding ( ) && ! isServerFlag && ( currentState == null || currentState == DialogState . TERMINATED ) ; if ( wrappedDialog != null ) { wrappedDialog . delete ( ) ; } else { if ( tracer . isFineEnabled ( ) ) { tracer . fine ( "wrappedDialog is not set, skipping deletion." ) ; } } if ( stackDoesNotFiresDialogTerminatedEvent ) { ra . processDialogTerminated ( this ) ; } }
/*
(non-Javadoc)
@see javax.sip.Dialog#delete()