Java library to instantiate a new object of a particular class
Objenesis is a small Java library that serves one purpose: to instantiate a
new object of a particular class.
Java already supports this dynamic instantiation of classes using
Class.newInstance(). However, this only works if the class has an appropriate
constructor. There are many times when a class cannot be instantiated this
way, such as when the class contains:
* Constructors that require arguments.
* Constructors that have side effects.
* Constructors that throw exceptions.
As a result, it is common to see restrictions in libraries stating that
classes must require a default constructor.
Objenesis aims to overcomes these restrictions by bypassing the constructor
on object instantiation.