added check for UI Thread
got rid of the direct() call
Fixed an issue when the method had parameters
added useDirect variable to UiThread annotation
added Propagation enum instead of boolean
Removed clone body for a better method.
Changed to only reuse thread if delay == 0
Merge pull request #605 from rockytriton/604_check_currentThread_in_UiThread

added check for UI Thread