diff --git a/src/com/tofvesson/async/Async.java b/src/com/tofvesson/async/Async.java
index a33e2fd..d457cf9 100644
--- a/src/com/tofvesson/async/Async.java
+++ b/src/com/tofvesson/async/Async.java
@@ -78,6 +78,7 @@ public class Async<T> {
     public Async(final Constructor<T> c, final Object... params){
         c.setAccessible(true);                  // Ensure that constructor can be called
         task = new Thread(() -> {               // Creates a new thread for asynchronous execution
+            new ThreadLocal<Async>().set(Async.this);
             try {
                 ret = c.newInstance(params);    // Create a new instance: invoke "<init>" method
                 complete = true;                // Notify all threads that async is finished
@@ -121,6 +122,14 @@ public class Async<T> {
      */
     public boolean isAlive(){ return task.isAlive(); } // Check if thread is still alive which directly determines if process is alive since Async is a wrapper of Thread
 
+    /**
+     * Get async instance pertaining to current thread.
+     * @return Async owning current thread or null if thread isn't Async.
+     */
+    public static Async current(){
+        return new ThreadLocal<Async>().get();
+    }
+
     /**
      * Cancels async operation if it's still alive.
      */
diff --git a/src/com/tofvesson/collections/ShiftingList.java b/src/com/tofvesson/collections/ShiftingList.java
index 5082dab..8712ff8 100644
--- a/src/com/tofvesson/collections/ShiftingList.java
+++ b/src/com/tofvesson/collections/ShiftingList.java
@@ -1,7 +1,6 @@
 package com.tofvesson.collections;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
 import java.util.stream.Collectors;