title: Immutable message in Spring Integration
body: <p>I was wondering what is the reasoning behind making messages immutable in Spring Integration.</p>
  
  <p>Is it only because of thread-safety in multi threaded evnironments?</p>
  
  <p>Performance? Don't you get a performance penalization when you have to create a new message each time you want to add something to an existing message?</p>
  
  <p>Avoiding a range of bugs when passing by reference? 
  Just guessing here.</p>