package com.s24.redjob.worker;

/**
 * Wrapper for job runners which do not implement {@link Runnable}.
 */
public abstract class WrappingRunnable implements Runnable {
   /**
    * Job runner.
    */
   private final Object runner;

   /**
    * Constructor.
    * 
    * @param runner
    *           Job runner.
    */
   public WrappingRunnable(Object runner) {
      this.runner = runner;
   }

   /**
    * Job runner.
    */
   @SuppressWarnings("unchecked")
   public <R> R unwrap() {
      return (R) runner;
   }
}

@@ -25,16 +25,57 @@
 orker;%0A%0A
+import org.springframework.util.Assert;%0A%0A
 /**%0A * W
@@ -396,24 +396,97 @@
 t runner) %7B%0A
+      Assert.notNull(runner, %22Pre-condition violated: runner != null.%22);%0A
       this.r

Add pre-condition