Thanks for your answers.
The object cannot be made usable before getting the initialization parameter.
The initialization value will be a factory class instance that will be used by the singleton instance object to produce an object
used in all its public methods.
For what concerns throwing an exception I was thinking about
IllegalStateException but it is unchecked and if possible I
prefer to throw a checked exception...
Maybe there is a bug in my design?
Thanks,
Baltico