title: How does EHCache implement its transactions?
body: <p>The question might sound vague but I'm trying to understand the general concept of the EHCache transaction ability.<br>
  Assuming I configure EHCache as a memory cache and I also configure it to cache a <code>MyObject</code>.<br>
  Does EHCache clone the instance of <code>MyObject</code> I'm retrieving if this is done as a part of a transaction?  </p>
  
  <p>I'm mainly asking because I was advised (in the answer to my <a href="https://stackoverflow.com/questions/3966346/how-to-wrap-an-object-change-in-my-own-transaction-and-incorporate-it-with-hibern">question</a>) to use EHCache and I'm worried about its performance impact. <code>MyObject</code> is a medium-weight object and I'd rather not duplicate it unneccesarily.<br>
  Also, just to verify, EHCache only blocks writing to the object while in transaction, right?</p>
  
  <p>Thanks,<br>
  Ittai</p>