title: How to reuse a method while it is still running?
body: <p>I have the following code:</p>
  
  <pre><code>CreateMultiLayerWakeupSteps()
  {
      var wakeupStep = new AutodetectWakeupStep
      {
          //Creating the object...
      }
  
      //Later in the process I have this operation:
  
      wakeupStep.SuccessNextStep = UserInputs(wakeupStep);
  }
  </code></pre>
  
  <p>The <strong>UserInputs</strong> method implementation looks something like this:</p>
  
  <pre><code>    private static AutodetectCommandStep UserInputs(AutodetectWakeupStep wakeupStep)
      {
          AutodetectCommandStep autodetectCommandStep
          {
              //Creating the object...
          }
  
          //Some more operations autodetectCommandStep here...
  
          return autodetectCommandStep;
      }
  </code></pre>
  
  <p>In the <strong>UserInputs</strong> method I would like to call the <strong>CreateMultiLayerWakeupStep</strong> method again in order to create a new step but the following exception is thrown: <strong>StackOverflowException</strong>.</p>
  
  <p>Is there a solution to reuse the method while still running ? It is difficult to implement ? I am not familiar with threading asynchronization.</p>
  
  <p>Best regards !</p>