@@ -0,0 +1,352 @@
+package net.sf.kerner.utils.async;%0A%0A%0Apublic abstract class AbstractAsyncTaskRunnable%3CR, V%3E extends%0A%09%09AbstractAsyncTask%3CR, V%3E implements Runnable %7B%0A%0A%09protected V value;%0A%0A%09public synchronized V getValue() %7B%0A%09%09return value;%0A%09%7D%0A%0A%09public void run() %7B%0A%09%09execute(getValue());%0A%09%7D%0A%0A%09public synchronized void setValue(final V value) %7B%0A%09%09this.value = value;%0A%09%7D%0A%7D%0A

Introduce AbstractAsyncTaskRunnable.