<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -21,7 +21,7 @@ class NoTransactionInScopeException extends RuntimeException
 class TransactionRetryException(message: String) extends RuntimeException(message)
 
 /**
- * Example of atomic transaction management.
+ * Example of atomic transaction management using high-order functions:
  * &lt;pre&gt;
  * import se.scalablesolutions.akka.stm.Transaction._
  * atomic {
@@ -39,13 +39,52 @@ class TransactionRetryException(message: String) extends RuntimeException(messag
  * }
  * &lt;/pre&gt;
  *
+ * Example of atomic transaction management using for comprehensions (monadic usage):
+ *
+ * &lt;pre&gt;
+ * import se.scalablesolutions.akka.stm.Transaction._
+ * for (tx &lt;- Transaction) {
+ *   ... // do transactional stuff
+ * }
+ *
+ * val result = for (tx &lt;- Transaction) yield {
+ *   ... // do transactional stuff yielding a result
+ * }
+ * &lt;/pre&gt;
+ *
+ * Example of using Transaction and TransactionalRef in for comprehensions (monadic usage):
+ *
+ * &lt;pre&gt;
+ * // For example, if you have a List with TransactionalRef
+ * val refs: List[TransactionalRef] = ...
+ *
+ * // You can use them together with Transaction in a for comprehension since TransactionalRef is also monadic
+ * for {
+ *   tx &lt;- Transaction
+ *   ref &lt;- refs
+ * } {
+ *   ... // use the ref inside a transaction
+ * }
+ *
+ * val result = for {
+ *   tx &lt;- Transaction
+ *   ref &lt;- refs
+ * } yield {
+ *   ... // use the ref inside a transaction, yield a result
+ * }
+ * &lt;/pre&gt;
+ *
  * @author &lt;a href=&quot;http://jonasboner.com&quot;&gt;Jonas Bon&amp;#233;r&lt;/a&gt;
  */
 object Transaction extends TransactionManagement {
   val idFactory = new AtomicLong(-1L)
 
-  // -- Monad --------------------------
-  // FIXME implement Transaction::map/flatMap/filter/foreach
+  // -- monadic api --------------------------
+  def map[T](f: Transaction =&gt; T): T = atomic { f(getTransactionInScope) }
+
+  def flatMap[T](f: Transaction =&gt; T): T = atomic { f(getTransactionInScope) }
+
+  def foreach(f: Transaction =&gt; Unit): Unit = atomic { f(getTransactionInScope) }
 
   // -- atomic block --------------------------
   def atomic[T](body: =&gt; T): T = new AtomicTemplate[T](
@@ -63,28 +102,51 @@ object Transaction extends TransactionManagement {
   }.execute()
 
 // FIXME: add these other atomic methods
-/*
-  def atomic[T](retryCount: Int)(body: =&gt; T): T = new AtomicTemplate[T](Multiverse.STM, &quot;akka&quot;, false, false, retryCount) {
-    def execute(mtx: MultiverseTransaction): T = body
-    override def postCommit =
-      if (isTransactionInScope) getTransactionInScope.commit
-      else throw new IllegalStateException(&quot;No transaction in scope&quot;)
-  }.execute
+  def atomic[T](retryCount: Int)(body: =&gt; T): T = {
+    new AtomicTemplate[T](getGlobalStmInstance, &quot;akka&quot;, false, false, retryCount) {
+      def execute(mtx: MultiverseTransaction): T = body
+      override def postStart(mtx: MultiverseTransaction) = {
+        val tx = new Transaction
+        tx.transaction = Some(mtx)
+        setTransaction(Some(tx))
+      }
+      override def postCommit =  {
+        if (isTransactionInScope) {}///getTransactionInScope.commit
+        else throw new IllegalStateException(&quot;No transaction in scope&quot;)
+      }
+    }.execute
+  }
 
-  def atomicReadOnly[T](retryCount: Int)(body: =&gt; T): T = new AtomicTemplate[T](Multiverse.STM, &quot;akka&quot;, false, true, retryCount) {
-    def execute(mtx: MultiverseTransaction): T = body
-    override def postCommit =
-      if (isTransactionInScope) getTransactionInScope.commit
-      else throw new IllegalStateException(&quot;No transaction in scope&quot;)
-  }.execute
+  def atomicReadOnly[T](retryCount: Int)(body: =&gt; T): T = {
+    new AtomicTemplate[T](getGlobalStmInstance, &quot;akka&quot;, false, true, retryCount) {
+      def execute(mtx: MultiverseTransaction): T = body
+      override def postStart(mtx: MultiverseTransaction) = {
+        val tx = new Transaction
+        tx.transaction = Some(mtx)
+        setTransaction(Some(tx))
+      }
+      override def postCommit =  {
+        if (isTransactionInScope) {}///getTransactionInScope.commit
+        else throw new IllegalStateException(&quot;No transaction in scope&quot;)
+      }
+    }.execute
+  }
+
+  def atomicReadOnly[T](body: =&gt; T): T = {
+    new AtomicTemplate[T](true) {
+      def execute(mtx: MultiverseTransaction): T = body
+      override def postStart(mtx: MultiverseTransaction) = {
+        val tx = new Transaction
+        tx.transaction = Some(mtx)
+        setTransaction(Some(tx))
+      }
+      override def postCommit =  {
+        if (isTransactionInScope) {}///getTransactionInScope.commit
+        else throw new IllegalStateException(&quot;No transaction in scope&quot;)
+      }
+    }.execute
+  }
 
-  def atomicReadOnly[T](body: =&gt; T): T = new AtomicTemplate[T](true) {
-    def execute(mtx: MultiverseTransaction): T = body
-    override def postCommit =
-      if (isTransactionInScope) getTransactionInScope.commit
-      else throw new IllegalStateException(&quot;No transaction in scope&quot;)
-  }.execute
-*/
   // -- Run-OrElse --------------------------
   def run[A](orBody: =&gt; A) = elseBody(orBody)
   def elseBody[A](orBody: =&gt; A) = new {
@@ -104,16 +166,10 @@ object Transaction extends TransactionManagement {
   val id = Transaction.idFactory.incrementAndGet
   @volatile private[this] var status: TransactionStatus = TransactionStatus.New
   private[akka] var transaction: Option[MultiverseTransaction] = None
-
   private[this] val persistentStateMap = new HashMap[String, Committable]
-
   private[akka] val depth = new AtomicInteger(0)
   
-  def increment = depth.incrementAndGet
-  def decrement = depth.decrementAndGet
-  def isTopLevel = depth.get == 0
-
-  def register(uuid: String, storage: Committable) = persistentStateMap.put(uuid, storage)
+  // --- public methods ---------
 
   def commit = synchronized {
     atomic {
@@ -123,12 +179,26 @@ object Transaction extends TransactionManagement {
     status = TransactionStatus.Completed
   }
 
-  def status_? = status
   def isNew = synchronized { status == TransactionStatus.New }
+
   def isActive = synchronized { status == TransactionStatus.Active }
+
   def isCompleted = synchronized { status == TransactionStatus.Completed }
+
   def isAborted = synchronized { status == TransactionStatus.Aborted }
 
+  // --- internal methods ---------
+
+  private[akka] def status_? = status
+
+  private[akka] def increment = depth.incrementAndGet
+
+  private[akka] def decrement = depth.decrementAndGet
+
+  private[akka] def isTopLevel = depth.get == 0
+
+  private[akka] def register(uuid: String, storage: Committable) = persistentStateMap.put(uuid, storage)
+
   private def ensureIsActive = if (status != TransactionStatus.Active)
     throw new IllegalStateException(&quot;Expected ACTIVE transaction - current status [&quot; + status + &quot;]: &quot; + toString)
 
@@ -158,10 +228,18 @@ object Transaction extends TransactionManagement {
   override def toString(): String = synchronized { &quot;Transaction[&quot; + id + &quot;, &quot; + status + &quot;]&quot; }
 }
 
+/**
+ * @author &lt;a href=&quot;http://jonasboner.com&quot;&gt;Jonas Bon&amp;#233;r&lt;/a&gt;
+ */
 @serializable sealed abstract class TransactionStatus
+
+/**
+ * @author &lt;a href=&quot;http://jonasboner.com&quot;&gt;Jonas Bon&amp;#233;r&lt;/a&gt;
+ */
 object TransactionStatus {
   case object New extends TransactionStatus
   case object Active extends TransactionStatus
   case object Aborted extends TransactionStatus
   case object Completed extends TransactionStatus
 }
+</diff>
      <filename>akka-actors/src/main/scala/stm/Transaction.scala</filename>
    </modified>
    <modified>
      <diff>@@ -61,9 +61,9 @@ trait Committable {
 object TransactionalRef {
 
   /**
-   * An implicit conversion that converts an option to an iterable value
+   * An implicit conversion that converts an Option to an Iterable value.
    */
-	implicit def ref2Iterable[T](ref: TransactionalRef[T]): Iterable[T] = ref.toList
+  implicit def ref2Iterable[T](ref: TransactionalRef[T]): Iterable[T] = ref.toList
 
   def apply[T]() = new TransactionalRef[T]
 }</diff>
      <filename>akka-actors/src/main/scala/stm/TransactionalState.scala</filename>
    </modified>
    <modified>
      <diff>@@ -5,9 +5,9 @@
   &lt;/component&gt;
   &lt;component name=&quot;ChangeListManager&quot; verified=&quot;true&quot;&gt;
     &lt;list default=&quot;true&quot; readonly=&quot;true&quot; id=&quot;188c966f-a83c-4d3a-9128-54d5a2947a12&quot; name=&quot;Default&quot; comment=&quot;&quot;&gt;
-      &lt;change type=&quot;MODIFICATION&quot; beforePath=&quot;$PROJECT_DIR$/akka-actors/src/main/scala/actor/Actor.scala&quot; afterPath=&quot;$PROJECT_DIR$/akka-actors/src/main/scala/actor/Actor.scala&quot; /&gt;
-      &lt;change type=&quot;MODIFICATION&quot; beforePath=&quot;$PROJECT_DIR$/akka-actors/src/main/scala/actor/ActorRegistry.scala&quot; afterPath=&quot;$PROJECT_DIR$/akka-actors/src/main/scala/actor/ActorRegistry.scala&quot; /&gt;
       &lt;change type=&quot;MODIFICATION&quot; beforePath=&quot;$PROJECT_DIR$/akka.iws&quot; afterPath=&quot;$PROJECT_DIR$/akka.iws&quot; /&gt;
+      &lt;change type=&quot;MODIFICATION&quot; beforePath=&quot;$PROJECT_DIR$/akka-actors/src/main/scala/stm/TransactionalState.scala&quot; afterPath=&quot;$PROJECT_DIR$/akka-actors/src/main/scala/stm/TransactionalState.scala&quot; /&gt;
+      &lt;change type=&quot;MODIFICATION&quot; beforePath=&quot;$PROJECT_DIR$/akka-actors/src/main/scala/stm/Transaction.scala&quot; afterPath=&quot;$PROJECT_DIR$/akka-actors/src/main/scala/stm/Transaction.scala&quot; /&gt;
     &lt;/list&gt;
     &lt;ignored path=&quot;akka.iws&quot; /&gt;
     &lt;ignored path=&quot;.idea/workspace.xml&quot; /&gt;
@@ -95,8 +95,8 @@
   &lt;component name=&quot;FileColors&quot; enabled=&quot;false&quot; enabledForTabs=&quot;false&quot; /&gt;
   &lt;component name=&quot;FileEditorManager&quot;&gt;
     &lt;leaf&gt;
-      &lt;file leaf-file-name=&quot;testng.xml&quot; pinned=&quot;false&quot; current=&quot;false&quot; current-in-tab=&quot;false&quot;&gt;
-        &lt;entry file=&quot;file://$PROJECT_DIR$/akka-fun-test-java/testng.xml&quot;&gt;
+      &lt;file leaf-file-name=&quot;Actor.scala&quot; pinned=&quot;false&quot; current=&quot;false&quot; current-in-tab=&quot;false&quot;&gt;
+        &lt;entry file=&quot;file://$PROJECT_DIR$/akka-actors/src/main/scala/actor/Actor.scala&quot;&gt;
           &lt;provider selected=&quot;true&quot; editor-type-id=&quot;text-editor&quot;&gt;
             &lt;state line=&quot;0&quot; column=&quot;0&quot; selection-start=&quot;0&quot; selection-end=&quot;0&quot; vertical-scroll-proportion=&quot;0.0&quot;&gt;
               &lt;folding /&gt;
@@ -104,19 +104,19 @@
           &lt;/provider&gt;
         &lt;/entry&gt;
       &lt;/file&gt;
-      &lt;file leaf-file-name=&quot;Actor.scala&quot; pinned=&quot;false&quot; current=&quot;true&quot; current-in-tab=&quot;true&quot;&gt;
-        &lt;entry file=&quot;file://$PROJECT_DIR$/akka-actors/src/main/scala/actor/Actor.scala&quot;&gt;
+      &lt;file leaf-file-name=&quot;Transaction.scala&quot; pinned=&quot;false&quot; current=&quot;true&quot; current-in-tab=&quot;true&quot;&gt;
+        &lt;entry file=&quot;file://$PROJECT_DIR$/akka-actors/src/main/scala/stm/Transaction.scala&quot;&gt;
           &lt;provider selected=&quot;true&quot; editor-type-id=&quot;text-editor&quot;&gt;
-            &lt;state line=&quot;0&quot; column=&quot;0&quot; selection-start=&quot;0&quot; selection-end=&quot;0&quot; vertical-scroll-proportion=&quot;-0.07692308&quot;&gt;
+            &lt;state line=&quot;54&quot; column=&quot;56&quot; selection-start=&quot;1585&quot; selection-end=&quot;1585&quot; vertical-scroll-proportion=&quot;0.37169313&quot;&gt;
               &lt;folding /&gt;
             &lt;/state&gt;
           &lt;/provider&gt;
         &lt;/entry&gt;
       &lt;/file&gt;
-      &lt;file leaf-file-name=&quot;Transaction.scala&quot; pinned=&quot;false&quot; current=&quot;false&quot; current-in-tab=&quot;false&quot;&gt;
-        &lt;entry file=&quot;file://$PROJECT_DIR$/akka-actors/src/main/scala/stm/Transaction.scala&quot;&gt;
+      &lt;file leaf-file-name=&quot;TransactionManagement.scala&quot; pinned=&quot;false&quot; current=&quot;false&quot; current-in-tab=&quot;false&quot;&gt;
+        &lt;entry file=&quot;file://$PROJECT_DIR$/akka-actors/src/main/scala/stm/TransactionManagement.scala&quot;&gt;
           &lt;provider selected=&quot;true&quot; editor-type-id=&quot;text-editor&quot;&gt;
-            &lt;state line=&quot;167&quot; column=&quot;0&quot; selection-start=&quot;6138&quot; selection-end=&quot;6138&quot; vertical-scroll-proportion=&quot;0.0&quot;&gt;
+            &lt;state line=&quot;57&quot; column=&quot;41&quot; selection-start=&quot;2423&quot; selection-end=&quot;2444&quot; vertical-scroll-proportion=&quot;0.0&quot;&gt;
               &lt;folding /&gt;
             &lt;/state&gt;
           &lt;/provider&gt;
@@ -125,7 +125,7 @@
       &lt;file leaf-file-name=&quot;TransactionalState.scala&quot; pinned=&quot;false&quot; current=&quot;false&quot; current-in-tab=&quot;false&quot;&gt;
         &lt;entry file=&quot;file://$PROJECT_DIR$/akka-actors/src/main/scala/stm/TransactionalState.scala&quot;&gt;
           &lt;provider selected=&quot;true&quot; editor-type-id=&quot;text-editor&quot;&gt;
-            &lt;state line=&quot;79&quot; column=&quot;0&quot; selection-start=&quot;1902&quot; selection-end=&quot;1902&quot; vertical-scroll-proportion=&quot;0.0&quot;&gt;
+            &lt;state line=&quot;12&quot; column=&quot;54&quot; selection-start=&quot;293&quot; selection-end=&quot;293&quot; vertical-scroll-proportion=&quot;0.0&quot;&gt;
               &lt;folding /&gt;
             &lt;/state&gt;
           &lt;/provider&gt;
@@ -146,10 +146,8 @@
   &lt;component name=&quot;IdeDocumentHistory&quot;&gt;
     &lt;option name=&quot;changedFiles&quot;&gt;
       &lt;list&gt;
-        &lt;option value=&quot;$PROJECT_DIR$/pom.xml&quot; /&gt;
         &lt;option value=&quot;$PROJECT_DIR$/config/akka.conf&quot; /&gt;
         &lt;option value=&quot;$PROJECT_DIR$/akka-persistence/src/main/scala/PersistentState.scala&quot; /&gt;
-        &lt;option value=&quot;$PROJECT_DIR$/akka-actors/src/main/scala/stm/TransactionalState.scala&quot; /&gt;
         &lt;option value=&quot;$PROJECT_DIR$/akka-persistence/src/main/scala/CassandraStorage.scala&quot; /&gt;
         &lt;option value=&quot;$PROJECT_DIR$/akka-rest/src/main/scala/AkkaServlet.scala&quot; /&gt;
         &lt;option value=&quot;$PROJECT_DIR$/config/akka-reference.conf&quot; /&gt;
@@ -159,9 +157,11 @@
         &lt;option value=&quot;$PROJECT_DIR$/akka-persistence/src/main/scala/CassandraSession.scala&quot; /&gt;
         &lt;option value=&quot;$PROJECT_DIR$/akka-fun-test-java/src/test/java/se/scalablesolutions/akka/api/RestTest.java&quot; /&gt;
         &lt;option value=&quot;$PROJECT_DIR$/config/storage-conf.xml&quot; /&gt;
-        &lt;option value=&quot;$PROJECT_DIR$/akka-actors/src/main/scala/stm/Transaction.scala&quot; /&gt;
         &lt;option value=&quot;$PROJECT_DIR$/akka-actors/src/main/scala/actor/Actor.scala&quot; /&gt;
         &lt;option value=&quot;$PROJECT_DIR$/akka-actors/src/main/scala/actor/ActorRegistry.scala&quot; /&gt;
+        &lt;option value=&quot;$PROJECT_DIR$/akka-actors/src/test/scala/InMemoryActorTest.scala&quot; /&gt;
+        &lt;option value=&quot;$PROJECT_DIR$/akka-actors/src/main/scala/stm/TransactionalState.scala&quot; /&gt;
+        &lt;option value=&quot;$PROJECT_DIR$/akka-actors/src/main/scala/stm/Transaction.scala&quot; /&gt;
       &lt;/list&gt;
     &lt;/option&gt;
   &lt;/component&gt;
@@ -516,6 +516,14 @@
               &lt;option name=&quot;myItemId&quot; value=&quot;src&quot; /&gt;
               &lt;option name=&quot;myItemType&quot; value=&quot;com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode&quot; /&gt;
             &lt;/PATH_ELEMENT&gt;
+            &lt;PATH_ELEMENT&gt;
+              &lt;option name=&quot;myItemId&quot; value=&quot;test&quot; /&gt;
+              &lt;option name=&quot;myItemType&quot; value=&quot;com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode&quot; /&gt;
+            &lt;/PATH_ELEMENT&gt;
+            &lt;PATH_ELEMENT&gt;
+              &lt;option name=&quot;myItemId&quot; value=&quot;scala&quot; /&gt;
+              &lt;option name=&quot;myItemType&quot; value=&quot;com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode&quot; /&gt;
+            &lt;/PATH_ELEMENT&gt;
           &lt;/PATH&gt;
           &lt;PATH&gt;
             &lt;PATH_ELEMENT&gt;
@@ -1153,9 +1161,10 @@
       &lt;window_info id=&quot;IDEtalk&quot; active=&quot;false&quot; anchor=&quot;right&quot; auto_hide=&quot;false&quot; internal_type=&quot;DOCKED&quot; type=&quot;DOCKED&quot; visible=&quot;false&quot; weight=&quot;0.33&quot; sideWeight=&quot;0.5&quot; order=&quot;5&quot; side_tool=&quot;false&quot; /&gt;
       &lt;window_info id=&quot;Web&quot; active=&quot;false&quot; anchor=&quot;left&quot; auto_hide=&quot;false&quot; internal_type=&quot;DOCKED&quot; type=&quot;DOCKED&quot; visible=&quot;false&quot; weight=&quot;0.33&quot; sideWeight=&quot;0.5&quot; order=&quot;2&quot; side_tool=&quot;true&quot; /&gt;
       &lt;window_info id=&quot;TODO&quot; active=&quot;false&quot; anchor=&quot;bottom&quot; auto_hide=&quot;false&quot; internal_type=&quot;DOCKED&quot; type=&quot;DOCKED&quot; visible=&quot;false&quot; weight=&quot;0.33&quot; sideWeight=&quot;0.5&quot; order=&quot;6&quot; side_tool=&quot;false&quot; /&gt;
-      &lt;window_info id=&quot;Project&quot; active=&quot;false&quot; anchor=&quot;left&quot; auto_hide=&quot;false&quot; internal_type=&quot;DOCKED&quot; type=&quot;DOCKED&quot; visible=&quot;true&quot; weight=&quot;0.17893218&quot; sideWeight=&quot;0.7020295&quot; order=&quot;0&quot; side_tool=&quot;false&quot; /&gt;
+      &lt;window_info id=&quot;Project&quot; active=&quot;false&quot; anchor=&quot;left&quot; auto_hide=&quot;false&quot; internal_type=&quot;DOCKED&quot; type=&quot;DOCKED&quot; visible=&quot;true&quot; weight=&quot;0.17893218&quot; sideWeight=&quot;0.6658163&quot; order=&quot;0&quot; side_tool=&quot;false&quot; /&gt;
       &lt;window_info id=&quot;Find&quot; active=&quot;false&quot; anchor=&quot;bottom&quot; auto_hide=&quot;false&quot; internal_type=&quot;DOCKED&quot; type=&quot;DOCKED&quot; visible=&quot;false&quot; weight=&quot;0.2915129&quot; sideWeight=&quot;0.5&quot; order=&quot;1&quot; side_tool=&quot;false&quot; /&gt;
       &lt;window_info id=&quot;Structure&quot; active=&quot;false&quot; anchor=&quot;left&quot; auto_hide=&quot;false&quot; internal_type=&quot;DOCKED&quot; type=&quot;DOCKED&quot; visible=&quot;false&quot; weight=&quot;0.25&quot; sideWeight=&quot;0.5&quot; order=&quot;1&quot; side_tool=&quot;true&quot; /&gt;
+      &lt;window_info id=&quot;Messages&quot; active=&quot;false&quot; anchor=&quot;bottom&quot; auto_hide=&quot;false&quot; internal_type=&quot;DOCKED&quot; type=&quot;DOCKED&quot; visible=&quot;false&quot; weight=&quot;0.3252551&quot; sideWeight=&quot;0.5&quot; order=&quot;12&quot; side_tool=&quot;false&quot; /&gt;
       &lt;window_info id=&quot;Dependency Viewer&quot; active=&quot;false&quot; anchor=&quot;bottom&quot; auto_hide=&quot;false&quot; internal_type=&quot;DOCKED&quot; type=&quot;DOCKED&quot; visible=&quot;false&quot; weight=&quot;0.33&quot; sideWeight=&quot;0.5&quot; order=&quot;7&quot; side_tool=&quot;false&quot; /&gt;
       &lt;window_info id=&quot;Palette&quot; active=&quot;false&quot; anchor=&quot;right&quot; auto_hide=&quot;false&quot; internal_type=&quot;DOCKED&quot; type=&quot;DOCKED&quot; visible=&quot;false&quot; weight=&quot;0.33&quot; sideWeight=&quot;0.5&quot; order=&quot;4&quot; side_tool=&quot;false&quot; /&gt;
       &lt;window_info id=&quot;Ant Build&quot; active=&quot;false&quot; anchor=&quot;right&quot; auto_hide=&quot;false&quot; internal_type=&quot;DOCKED&quot; type=&quot;DOCKED&quot; visible=&quot;false&quot; weight=&quot;0.25&quot; sideWeight=&quot;0.5&quot; order=&quot;1&quot; side_tool=&quot;false&quot; /&gt;
@@ -1167,7 +1176,6 @@
       &lt;window_info id=&quot;Version Control&quot; active=&quot;false&quot; anchor=&quot;bottom&quot; auto_hide=&quot;false&quot; internal_type=&quot;DOCKED&quot; type=&quot;DOCKED&quot; visible=&quot;false&quot; weight=&quot;0.32908162&quot; sideWeight=&quot;0.5&quot; order=&quot;11&quot; side_tool=&quot;false&quot; /&gt;
       &lt;window_info id=&quot;Web Preview&quot; active=&quot;false&quot; anchor=&quot;bottom&quot; auto_hide=&quot;false&quot; internal_type=&quot;DOCKED&quot; type=&quot;DOCKED&quot; visible=&quot;false&quot; weight=&quot;0.33&quot; sideWeight=&quot;0.5&quot; order=&quot;10&quot; side_tool=&quot;false&quot; /&gt;
       &lt;window_info id=&quot;Message&quot; active=&quot;false&quot; anchor=&quot;bottom&quot; auto_hide=&quot;false&quot; internal_type=&quot;DOCKED&quot; type=&quot;DOCKED&quot; visible=&quot;false&quot; weight=&quot;0.33&quot; sideWeight=&quot;0.5&quot; order=&quot;0&quot; side_tool=&quot;false&quot; /&gt;
-      &lt;window_info id=&quot;Messages&quot; active=&quot;false&quot; anchor=&quot;bottom&quot; auto_hide=&quot;false&quot; internal_type=&quot;DOCKED&quot; type=&quot;DOCKED&quot; visible=&quot;false&quot; weight=&quot;0.32564574&quot; sideWeight=&quot;0.5&quot; order=&quot;12&quot; side_tool=&quot;false&quot; /&gt;
       &lt;window_info id=&quot;Inspection&quot; active=&quot;false&quot; anchor=&quot;bottom&quot; auto_hide=&quot;false&quot; internal_type=&quot;DOCKED&quot; type=&quot;DOCKED&quot; visible=&quot;false&quot; weight=&quot;0.4&quot; sideWeight=&quot;0.5&quot; order=&quot;5&quot; side_tool=&quot;false&quot; /&gt;
       &lt;window_info id=&quot;Cvs&quot; active=&quot;false&quot; anchor=&quot;bottom&quot; auto_hide=&quot;false&quot; internal_type=&quot;DOCKED&quot; type=&quot;DOCKED&quot; visible=&quot;false&quot; weight=&quot;0.25&quot; sideWeight=&quot;0.5&quot; order=&quot;4&quot; side_tool=&quot;false&quot; /&gt;
       &lt;window_info id=&quot;Hierarchy&quot; active=&quot;false&quot; anchor=&quot;right&quot; auto_hide=&quot;false&quot; internal_type=&quot;DOCKED&quot; type=&quot;DOCKED&quot; visible=&quot;false&quot; weight=&quot;0.25&quot; sideWeight=&quot;0.5&quot; order=&quot;2&quot; side_tool=&quot;false&quot; /&gt;
@@ -1205,16 +1213,6 @@
     &lt;option name=&quot;FILTER_TARGETS&quot; value=&quot;false&quot; /&gt;
   &lt;/component&gt;
   &lt;component name=&quot;editorHistoryManager&quot;&gt;
-    &lt;entry file=&quot;file://$PROJECT_DIR$/akka-rest/src/main/scala/ActorComponentProviderFactory.scala&quot;&gt;
-      &lt;provider selected=&quot;true&quot; editor-type-id=&quot;text-editor&quot;&gt;
-        &lt;state line=&quot;6&quot; column=&quot;0&quot; selection-start=&quot;91&quot; selection-end=&quot;91&quot; vertical-scroll-proportion=&quot;0.0&quot; /&gt;
-      &lt;/provider&gt;
-    &lt;/entry&gt;
-    &lt;entry file=&quot;file://$PROJECT_DIR$/akka-kernel/src/main/scala/AkkaServlet.scala&quot;&gt;
-      &lt;provider selected=&quot;true&quot; editor-type-id=&quot;text-editor&quot;&gt;
-        &lt;state line=&quot;35&quot; column=&quot;91&quot; selection-start=&quot;1421&quot; selection-end=&quot;1421&quot; vertical-scroll-proportion=&quot;0.0&quot; /&gt;
-      &lt;/provider&gt;
-    &lt;/entry&gt;
     &lt;entry file=&quot;file://$PROJECT_DIR$/akka-persistence/src/main/scala/CassandraSession.scala&quot;&gt;
       &lt;provider selected=&quot;true&quot; editor-type-id=&quot;text-editor&quot;&gt;
         &lt;state line=&quot;11&quot; column=&quot;28&quot; selection-start=&quot;311&quot; selection-end=&quot;311&quot; vertical-scroll-proportion=&quot;0.0&quot; /&gt;
@@ -1274,23 +1272,37 @@
         &lt;/state&gt;
       &lt;/provider&gt;
     &lt;/entry&gt;
-    &lt;entry file=&quot;file://$PROJECT_DIR$/akka-actors/src/main/scala/stm/TransactionalState.scala&quot;&gt;
+    &lt;entry file=&quot;file://$PROJECT_DIR$/akka-actors/src/test/scala/InMemoryActorTest.scala&quot;&gt;
       &lt;provider selected=&quot;true&quot; editor-type-id=&quot;text-editor&quot;&gt;
-        &lt;state line=&quot;79&quot; column=&quot;0&quot; selection-start=&quot;1902&quot; selection-end=&quot;1902&quot; vertical-scroll-proportion=&quot;0.0&quot;&gt;
+        &lt;state line=&quot;28&quot; column=&quot;15&quot; selection-start=&quot;933&quot; selection-end=&quot;938&quot; vertical-scroll-proportion=&quot;0.71794873&quot;&gt;
           &lt;folding /&gt;
         &lt;/state&gt;
       &lt;/provider&gt;
     &lt;/entry&gt;
-    &lt;entry file=&quot;file://$PROJECT_DIR$/akka-actors/src/main/scala/stm/Transaction.scala&quot;&gt;
+    &lt;entry file=&quot;file://$PROJECT_DIR$/akka-actors/src/main/scala/actor/Actor.scala&quot;&gt;
       &lt;provider selected=&quot;true&quot; editor-type-id=&quot;text-editor&quot;&gt;
-        &lt;state line=&quot;167&quot; column=&quot;0&quot; selection-start=&quot;6138&quot; selection-end=&quot;6138&quot; vertical-scroll-proportion=&quot;0.0&quot;&gt;
+        &lt;state line=&quot;0&quot; column=&quot;0&quot; selection-start=&quot;0&quot; selection-end=&quot;0&quot; vertical-scroll-proportion=&quot;0.0&quot;&gt;
           &lt;folding /&gt;
         &lt;/state&gt;
       &lt;/provider&gt;
     &lt;/entry&gt;
-    &lt;entry file=&quot;file://$PROJECT_DIR$/akka-actors/src/main/scala/actor/Actor.scala&quot;&gt;
+    &lt;entry file=&quot;file://$PROJECT_DIR$/akka-actors/src/main/scala/stm/TransactionManagement.scala&quot;&gt;
+      &lt;provider selected=&quot;true&quot; editor-type-id=&quot;text-editor&quot;&gt;
+        &lt;state line=&quot;57&quot; column=&quot;41&quot; selection-start=&quot;2423&quot; selection-end=&quot;2444&quot; vertical-scroll-proportion=&quot;0.0&quot;&gt;
+          &lt;folding /&gt;
+        &lt;/state&gt;
+      &lt;/provider&gt;
+    &lt;/entry&gt;
+    &lt;entry file=&quot;file://$PROJECT_DIR$/akka-actors/src/main/scala/stm/TransactionalState.scala&quot;&gt;
+      &lt;provider selected=&quot;true&quot; editor-type-id=&quot;text-editor&quot;&gt;
+        &lt;state line=&quot;12&quot; column=&quot;54&quot; selection-start=&quot;293&quot; selection-end=&quot;293&quot; vertical-scroll-proportion=&quot;0.0&quot;&gt;
+          &lt;folding /&gt;
+        &lt;/state&gt;
+      &lt;/provider&gt;
+    &lt;/entry&gt;
+    &lt;entry file=&quot;file://$PROJECT_DIR$/akka-actors/src/main/scala/stm/Transaction.scala&quot;&gt;
       &lt;provider selected=&quot;true&quot; editor-type-id=&quot;text-editor&quot;&gt;
-        &lt;state line=&quot;0&quot; column=&quot;0&quot; selection-start=&quot;0&quot; selection-end=&quot;0&quot; vertical-scroll-proportion=&quot;-0.07692308&quot;&gt;
+        &lt;state line=&quot;54&quot; column=&quot;56&quot; selection-start=&quot;1585&quot; selection-end=&quot;1585&quot; vertical-scroll-proportion=&quot;0.37169313&quot;&gt;
           &lt;folding /&gt;
         &lt;/state&gt;
       &lt;/provider&gt;</diff>
      <filename>akka.iws</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>927936da6816993e51742ffa182fc025ddecc149</id>
    </parent>
  </parents>
  <author>
    <name>jboner</name>
    <email>jboner@109-dynamic.2005275.venues.thecloud.net</email>
  </author>
  <url>http://github.com/jboner/akka/commit/5f4df011521b8aae725a58a7f4fa58e46f747622</url>
  <id>5f4df011521b8aae725a58a7f4fa58e46f747622</id>
  <committed-date>2009-11-02T13:14:24-08:00</committed-date>
  <authored-date>2009-11-02T13:14:24-08:00</authored-date>
  <message>added monadic api to the transaction</message>
  <tree>18f5fabd19944133ff5bba1fa9c204fe224318a0</tree>
  <committer>
    <name>jboner</name>
    <email>jboner@109-dynamic.2005275.venues.thecloud.net</email>
  </committer>
</commit>
