Small car hire program based on Joshua Bloch defensive programming