question: private void readVersion ( InputNode node , Object source , Label label ) throws Exception { Object value = readInstance ( node , source , label ) ; Class expect = type . getType ( ) ; if ( value != null ) { Version version = context . getVersion ( expect ) ; Double actual = version . revision ( ) ; if ( ! value . equals ( revision ) ) { revision . compare ( actual , value ) ; } } }
target:  This method is used to read the version from the provided input node. Once the version has been read it is used to determine how to deserialize the object. If the version is not the initial version then it is read in a manner that ignores excessive XML elements and attributes. Also none of the annotated fields or methods are required if the version is not the initial version.