Using a ConcurrentHashMap here should not be necessary...I think I like this implementation better.
Added a VirtualCallable and started implementing to handle these better
Added some unit tests based off the VirtualRunnable tests
Put this behind an interface, so we can easily check if a scheduler is interested in VirtualRunnables and VirtualCallables
Because this wrapper is currently heavily dependent on PriorityScheduledExecutor's implementation...there is no way currently to provide a testable executor here...so this check is of no help
Using the TestableExecutor interface as a key, we can avoid doing instanceof checks for every runnable (except when in test)
Really simple way to implement this TODO note for testable executors
Updated this implementation to match the same as the previous commit...this is a very clean and easy way to know when we are interested in handling VirtualRunnables and VirtualCallables
Better support for the VirtualRunnable
Updated javadocs, and renamed these functions
Fix for checkStyle warning....throwing an exception would actually be cleaner...but I think this makes sense as well
Fixed unit tests
Improved the unit test coverage with the recent additions to handle the VirtualRunnable better in the RunnableChain
We actually need to use a ConcurrentHashMap here with the striped lock