title: Race condition in Parallel.ForEach?
body: <p>Is there a possible race condition in below code?  </p>
  
  <pre><code>public void Process(List&lt;SomeObject&gt; list)
  {
      SomeDataOutput objData=null;
      ConcurrentBag&lt;SomeDataOutput&gt; cbOutput = new ConcurrentBag&lt;SomeDataOutput&gt;();
      ParallelOptions po = new ParallelOptions(){MaxDegreeOfParallelism=4};
      Parallel.ForEach(list, po, (objInput) =&gt;
      {
          objData = GetOutputData(objInput);//THIS LINE IS THE ONE I AM UNSURE OF. CAN objData GET OVERWRITTEN BY MULTIPLE PARALLEL THREADS?
          cbOutput.Add(objData);
      });
  }  
  </code></pre>