Refactored RateExceeded Exception to replace OverRateException and carry a long to denote possible retry wait time.
Refactored RateExceeded Exception to replace OverRateException and carry a long to denote possible retry wait time.

Removed OverRateException as it was redundant.
Removed unnecessary StopWatch instance from run method
Cleaned up run method and removed tracking check for startTime and endTime
Cleaned up run method and removed tracking check for startTime and endTime
Misc and pre license setup
Fixed all author tags and removed licenses in prep for maven license plugin test
Added Licenses using maven plugin
Cleaned and expanded javadoc and made all public static collections unmodifiable
Cleaned and expanded javadoc, made all public static collections unmodifiable, and added static report for diagnostics.
Cleaned and expanded javadoc
added equals, hashcods, and finalize method.

Finalize now calls close
Added javadoc,
fromId now throws IllegalArgumentException if ID is out of range
Made internal tracking arrays final
Added ArgumentUtils.
ArgumentUtils holds static methods for enforcing range and null requirements on arguments.
The check methods all throw IllegalArgumentException on error. 
This removes a lot of duplicate code used for sanity checking in methods, especially in no-fault defensive programming where variables are checked at all method calls
Added CharacterUtils
Holds character constants as char or interned String.
Added javadocs, argument checking via ArgumentUtils and logging
Renamed DataContainer to RequestDataContainer and removed date range enforcing code. This code was a leftover from a DateFormat threading issue that has been solved.
Added javadocs
Refactored to use PoolableObjectFactory
Added Generic type for the extension of WorkerThread that acts as the consumer.
Modified to work well with the refactoring of the ElasticConsumer
Modified to work well with the refactoring of the ElasticConsumer