Extract private static method:
Cloner.failIfTypeIsNotCloneable().
Extract static method:
Cloner.doClone().
Initialize "type" parameter in Cloner.doClone() method.
Add parameter "clonedObjects" in Cloner.doClone() method.
Add new property "compositeCloneable" to CompositeCloneableClass.
Initialize props "cloneable" and "compositeCloneable" of CompositeCloneableClass in tests.
Create new utility class: ClassUtil.
Switch Cloner class to cloning of objects by using ByteArray.
Test for cloning of property with type CloneableClass in CompositeCloneableClass.
Test for cloning of property with type CompositeCloneableClass in CompositeCloneableClass.
Remove params "deep" and "clonedObjectsMap" from method Cloner.doCLone().
Move "if" statement checking for is type prepared for cloning to method Cloner.prepareTypeForCloning().
Move code preparing cloneable fields of type for cloning to method Cloner.prepareTypeForCloning().
Refactor method Cloner.doClone(): currently it only do cloning of objects by using ByteArray.
Optimize imports.
Change version of "dolly-framework" module in build.gradle file.
Change version of Dolly framework to 0.3 in README.md file.
Merge branch 'deep-cloning' into develop