net.corda.protocols / NotaryChangeProtocol / Instigator

# Instigator

`class Instigator<T : ContractState> : Instigator<T, Party>`

### Constructors

<init> | `Instigator(originalState: StateAndRef<T>, newNotary: Party, progressTracker: ProgressTracker = tracker())`

### Inherited Properties

modification | `val modification: T`
originalState | `val originalState: StateAndRef<S>`
progressTracker | `open val progressTracker: ProgressTracker` Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track progress.

### Functions

assembleProposal | `fun assembleProposal(stateRef: StateRef, modification: Party, stx: SignedTransaction): Proposal<Party>`
assembleTx | `fun assembleTx(): <ERROR CLASS><SignedTransaction, List<PublicKeyTree>>`

### Inherited Functions

call | `open fun call(): StateAndRef<S>` This is where you fill out your business logic.