/// <summary>
 /// Creates a new symbolic control flow graph builder using the provided program state transition resolver.
 /// </summary>
 /// <param name="instructions">The instructions to traverse.</param>
 /// <param name="transitionResolver">The transition resolver to use for inferring branch targets.</param>
 public SymbolicFlowGraphBuilder(
     ISymbolicInstructionProvider <TInstruction> instructions,
     IStateTransitionResolver <TInstruction> transitionResolver)
 {
     Instructions       = instructions ?? throw new ArgumentNullException(nameof(instructions));
     TransitionResolver = transitionResolver ?? throw new ArgumentNullException(nameof(transitionResolver));
 }
 /// <summary>
 /// Creates a new symbolic control flow graph builder using the provided program state transition resolver.
 /// </summary>
 /// <param name="architecture">The architecture of the instructions.</param>
 /// <param name="instructions">The instructions to traverse.</param>
 /// <param name="transitionResolver">The transition resolver to use for inferring branch targets.</param>
 public SymbolicFlowGraphBuilder(
     IInstructionSetArchitecture <TInstruction> architecture,
     IEnumerable <TInstruction> instructions,
     IStateTransitionResolver <TInstruction> transitionResolver)
 {
     Instructions       = new StaticToSymbolicAdapter <TInstruction>(architecture, instructions);
     TransitionResolver = transitionResolver ?? throw new ArgumentNullException(nameof(transitionResolver));
 }