diff --git a/lib/cpp/src/concurrency/ThreadManager.cpp b/lib/cpp/src/concurrency/ThreadManager.cpp
index abfcf6e..7bba0e6 100644
--- a/lib/cpp/src/concurrency/ThreadManager.cpp
+++ b/lib/cpp/src/concurrency/ThreadManager.cpp
@@ -117,6 +117,8 @@
 
   void remove(shared_ptr<Runnable> task);
 
+  shared_ptr<Runnable> removeNextPending();
+
 private:
   void stopImpl(bool join);
 
@@ -163,6 +165,10 @@
     }
   }
 
+  shared_ptr<Runnable> getRunnable() {
+    return runnable_;
+  }
+
  private:
   shared_ptr<Runnable> runnable_;
   friend class ThreadManager::Worker;
@@ -458,6 +464,22 @@
   }
 }
 
+boost::shared_ptr<Runnable> ThreadManager::Impl::removeNextPending() {
+  Guard g(mutex_);
+  if (state_ != ThreadManager::STARTED) {
+    throw IllegalStateException();
+  }
+
+  if (tasks_.empty()) {
+    return boost::shared_ptr<Runnable>();
+  }
+
+  shared_ptr<ThreadManager::Task> task = tasks_.front();
+  tasks_.pop();
+  
+  return task->getRunnable();
+}
+
 class SimpleThreadManager : public ThreadManager::Impl {
 
  public:
diff --git a/lib/cpp/src/concurrency/ThreadManager.h b/lib/cpp/src/concurrency/ThreadManager.h
index 6e5a178..cbf08c0 100644
--- a/lib/cpp/src/concurrency/ThreadManager.h
+++ b/lib/cpp/src/concurrency/ThreadManager.h
@@ -148,6 +148,13 @@
    */
   virtual void remove(boost::shared_ptr<Runnable> task) = 0;
 
+  /**
+   * Remove the next pending task which would be run.
+   *
+   * @return the task removed.
+   */
+  virtual boost::shared_ptr<Runnable> removeNextPending() = 0;
+
   static boost::shared_ptr<ThreadManager> newThreadManager();
 
   /**
