Propagation is used to define how transactions related to each other. Common options
Required: Code will always run in a transaction. Create a new transaction or reuse one if available.
Requires_new: Code will always run in a new transaction. Suspend current transactions if one exists.
Isolation...