diff --git a/serie2/ex3_1/ContainerHelper.class b/serie2/ex3_1/ContainerHelper.class
new file mode 100644
index 0000000000000000000000000000000000000000..d0c965dbc67a3561f092803af38a71fb9ff6765c
Binary files /dev/null and b/serie2/ex3_1/ContainerHelper.class differ
diff --git a/serie2/ex3_1/ContainerHelper.java b/serie2/ex3_1/ContainerHelper.java
new file mode 100644
index 0000000000000000000000000000000000000000..143a64ab98fbe8c90789a624aae2e1b892dde3b8
--- /dev/null
+++ b/serie2/ex3_1/ContainerHelper.java
@@ -0,0 +1,56 @@
+public class ContainerHelper {
+
+    public static void ensurePositiveValue(int val) {
+        if (val < 0) {
+            throw new RuntimeException("Value should be greater than or equal to zero\tCurrent value: " + val);
+        }
+    }
+
+    public static void ensurePositiveValue(int... vals) {
+        for (int i : vals) {
+            ensurePositiveValue(i);
+        }
+    }
+
+    public static int[] transfer(int srcQuantity, int dest, int... dests) {
+        ensurePositiveValue(srcQuantity);
+        ensurePositiveValue(dest);
+        ensurePositiveValue(dests);
+
+        int[] res = new int[dests.length + 1];
+
+        int quantityToTransferDest = Math.min(srcQuantity, dest);
+        res[0] = quantityToTransferDest;
+        srcQuantity -= quantityToTransferDest;
+
+        for (int i = 1; i < res.length; i++) {
+            if (srcQuantity > 0) {
+                int quantityToTransferDests = Math.min(srcQuantity, dests[i - 1]);
+                res[i] = quantityToTransferDests;
+                srcQuantity -= quantityToTransferDests;
+            }
+        }
+
+        return res;
+    }
+
+    public static void main(String[] args) {
+        int src = 100;
+        int dest = 10;
+        int arg1 = 40;
+        int arg2 = 30;
+        int arg3 = 50;
+
+        int res[] = transfer(src, dest, arg1, arg2, arg3);
+
+        System.out.print("{");
+        for (int i = 0; i < res.length; i++) {
+            System.out.print(res[i]);
+            if (i < res.length - 1) {
+                System.out.print(", ");
+            } else {
+                System.out.println("}");
+            }
+        }
+    }
+}