Introduced generics to avoid unnecessary type cast, and improved
Javadoc.
New test methods, javadoc
Fix: Correct usage of generics
Introducing bills