Add executeOnExecutor to ShadowAsyncTask
diff --git a/src/main/java/com/xtremelabs/robolectric/Robolectric.java b/src/main/java/com/xtremelabs/robolectric/Robolectric.java
index 58aedb8..fd54cf1 100644
--- a/src/main/java/com/xtremelabs/robolectric/Robolectric.java
+++ b/src/main/java/com/xtremelabs/robolectric/Robolectric.java
@@ -439,6 +439,11 @@
     public static ShadowAssetManager shadowOf(AssetManager instance) {
         return (ShadowAssetManager) Robolectric.shadowOf_(instance);
     }
+    
+    @SuppressWarnings("rawtypes")
+	public static ShadowAsyncTask shadowOf(AsyncTask instance){
+    	return (ShadowAsyncTask) Robolectric.shadowOf_( instance );
+    }
 
     public static ShadowAudioManager shadowOf(AudioManager instance) {
         return (ShadowAudioManager) shadowOf_(instance);
diff --git a/src/main/java/com/xtremelabs/robolectric/shadows/ShadowAsyncTask.java b/src/main/java/com/xtremelabs/robolectric/shadows/ShadowAsyncTask.java
index 9dd8d46..2069da7 100644
--- a/src/main/java/com/xtremelabs/robolectric/shadows/ShadowAsyncTask.java
+++ b/src/main/java/com/xtremelabs/robolectric/shadows/ShadowAsyncTask.java
@@ -1,28 +1,26 @@
 package com.xtremelabs.robolectric.shadows;
 
+import java.util.concurrent.*;
+
 import android.os.AsyncTask;
 import android.os.ShadowAsyncTaskBridge;
+
 import com.xtremelabs.robolectric.Robolectric;
 import com.xtremelabs.robolectric.internal.Implementation;
 import com.xtremelabs.robolectric.internal.Implements;
 import com.xtremelabs.robolectric.internal.RealObject;
 
-import java.util.concurrent.Callable;
-import java.util.concurrent.CancellationException;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.FutureTask;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-
 @Implements(AsyncTask.class)
 public class ShadowAsyncTask<Params, Progress, Result> {
 
     @RealObject private AsyncTask<Params, Progress, Result> realAsyncTask;
-
+    
+    public static final int EXECUTE_USING_EXECUTOR = 1;
     private final FutureTask<Result> future;
     private final BackgroundWorker worker;
     private AsyncTask.Status status = AsyncTask.Status.PENDING;
-
+    private int executor = 0;
+    
 	public ShadowAsyncTask() {
 		worker = new BackgroundWorker();
 		future = new FutureTask<Result>(worker) {
@@ -88,6 +86,11 @@
         return realAsyncTask;
     }
 
+    @Implementation
+    public AsyncTask<Params, Progress, Result> executeOnExecutor(Executor exec, final Params... params) {
+    	executor = EXECUTE_USING_EXECUTOR;
+    	return this.execute( params );
+    }
 
     @Implementation
     public AsyncTask.Status getStatus() {
@@ -121,4 +124,8 @@
 			return getBridge().doInBackground(params);
 		}
 	}
+    
+    public final int getExecuteType(){
+    	return executor;
+    }
 }