title: Mule flowvars getting affected which preserves payload when the payload is changed
body: <p>I am storing the output from DB in a flowvar <strong>#[flowvars.test]</strong> after which I am <strong>iterating the payload to remove few key, value pair</strong>. when the payload is modified inside the for loop the value which is stored in flowvars also getting modified.I am using mule 3.9 runtime.</p>
  
  <pre><code>    &lt;db:parameterized-query&gt;&lt;![CDATA[select MachineName,TransactionId,SourceAPIName,Source,Target,ErrorCode,Severity,MailContent,ExceptionType,ExceptionMessage from Notification
       where Notify='Y' and IsNotify='N']]&gt;
                   &lt;/db:select&gt;
               &lt;/poll&gt;
               &lt;expression-filter expression="#[payload.size()&amp;gt;0]" doc:name="Stop If No Records"/&gt;
               &lt;set-variable variableName="test" value="#[message.payload]" doc:name="Variable"/&gt;
  &lt;set-variable variableName="validatedEntries" value="#[[]]"
              doc:name="ValidatedEntries" /&gt;
                       &lt;logger level="INFO" doc:name="Logger"/&gt;
                       &lt;foreach collection="#[flowVars.test]" doc:name="For Each"&gt;
                   &lt;logger level="INFO" doc:name="Logger"/&gt;
                   &lt;set-variable variableName="tempNotificationTable" value="#[payload.remove('TransactionID')]" doc:name="Temp NotificationTable"/&gt;
                   &lt;expression-component doc:name="Expression"&gt;&lt;![CDATA[#[flowVars.validatedEntries.add(payload)]]]&gt;&lt;/expression-component&gt;
               &lt;/foreach&gt;
  </code></pre>