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);
    }
  }
}

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 ) ; } } }
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 .
