STREAMS-86 | Added a Reentrant Read/Write lock to ensure that the provider queue is only accessed when appropriate. This helps to make sure that we don't drop data between this provider any any subsequent components
STREAMS-86 | Added a readlock around offering to the provider queue
STREAMS-86 | Added back in old number of attempts to try (will change in separate pull request)
STREAMS-86 | Added in constructQueue() call in prepare method
STREAMS-86 | Added in necessary license header and removed unnecessary imports
STREAMS-86 | Added write lock when we reassign the queue's reference in the prepare method
STREAMS-86 | providerQueue is constructed before checking to see if it is null. Otherwise, will fail every time
STREAMS-86 | Changed the read/write lock to protected from private so that any extensions of this class can override the captureTwitterTimeLine method
STREAMS-96 | Changed constructQueue method to protected and added constant: MAX_NUMBER_WAITING