diff --git a/src/main/java/org/caosdb/server/grpc/EntityTransactionServiceImpl.java b/src/main/java/org/caosdb/server/grpc/EntityTransactionServiceImpl.java
index e83e89c75f8d7f39c54447f7848f9644ca72d9f2..9b5b6fc1cff325415c1fd8bc15886629a9a8c52c 100644
--- a/src/main/java/org/caosdb/server/grpc/EntityTransactionServiceImpl.java
+++ b/src/main/java/org/caosdb/server/grpc/EntityTransactionServiceImpl.java
@@ -470,6 +470,13 @@ public class EntityTransactionServiceImpl extends EntityTransactionServiceImplBa
     return Integer.parseInt(id);
   }
 
+  /**
+   * Handle read-only transactions.
+   *
+   * @param request
+   * @return
+   * @throws Exception
+   */
   public MultiTransactionResponse retrieve(final MultiTransactionRequest request) throws Exception {
     final MultiTransactionResponse.Builder builder = MultiTransactionResponse.newBuilder();
     final RetrieveContainer container =
@@ -570,14 +577,25 @@ public class EntityTransactionServiceImpl extends EntityTransactionServiceImplBa
     return System.currentTimeMillis();
   }
 
+  /**
+   * Handle all entity transactions.
+   *
+   * @param request
+   * @return
+   * @throws Exception
+   */
   public MultiTransactionResponse transaction(final MultiTransactionRequest request)
       throws Exception {
     if (request.getRequestsCount() > 0) {
+      // we only test the first request and raise errors when subsequent sub-transactions do not
+      // fit.
       final WrappedRequestsCase requestCase = request.getRequests(0).getWrappedRequestsCase();
       switch (requestCase) {
         case RETRIEVE_REQUEST:
+          // Handle read-only transactions.
           return retrieve(request);
         default:
+          // Handle mixed-writed transactions.
           return write(request);
       }
     } else {
@@ -586,6 +604,13 @@ public class EntityTransactionServiceImpl extends EntityTransactionServiceImplBa
     }
   }
 
+  /**
+   * Handle mixed-write transactions.
+   *
+   * @param requests
+   * @return
+   * @throws Exception
+   */
   private MultiTransactionResponse write(final MultiTransactionRequest requests) throws Exception {
     final MultiTransactionResponse.Builder builder = MultiTransactionResponse.newBuilder();
     final WritableContainer container =