diff --git a/src/main/java/ch/hepia/mq/MessageQueue.java b/src/main/java/ch/hepia/mq/MessageQueue.java
index e898fb70d28a3ff108c8d1aa950da825575c7cc5..ab6d2d842b7d9c5b6722af57d9e3aec8632d4b9b 100644
--- a/src/main/java/ch/hepia/mq/MessageQueue.java
+++ b/src/main/java/ch/hepia/mq/MessageQueue.java
@@ -55,32 +55,29 @@ public abstract class MessageQueue {
     }
 
     public static <T extends Serializable> byte[] serialize(T object){
-        ObjectOutputStream oos = null;
-        ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
-        try {
-            oos = new ObjectOutputStream(byteStream);
+        try (
+            ByteArrayOutputStream byteStream = new ByteArrayOutputStream();    
+            ObjectOutputStream oos = new ObjectOutputStream(byteStream)
+        ) {
             oos.writeObject(object);
             oos.flush();
             return byteStream.toByteArray();
         } catch (final Exception e) {
             e.printStackTrace();
-        }finally{
-            // TODO
             System.exit(1);
         }
         return null;
     }
 
     public static <T extends Serializable> T unserialize(byte[] serializedData){
-        ByteArrayInputStream inputStream = new ByteArrayInputStream(serializedData);
         T result = null;
-        try {
-            ObjectInputStream ois = new ObjectInputStream(inputStream);
+        try (
+            ByteArrayInputStream inputStream = new ByteArrayInputStream(serializedData);
+            ObjectInputStream ois = new ObjectInputStream(inputStream)
+        ) {            
             result = (T) ois.readObject();
         } catch (final Exception e) {
             e.printStackTrace();
-        }finally{
-            // TODO
             System.exit(1);
         }
         return result;