icegem-core/src/main/java/com/googlecode/icegem/serialization/codegen/XClass.java
public short getVersionModelHashCode(int version) {
    	List<XProperty> classFields = getOrderedProperties();
    	
        StringBuilder builder = new StringBuilder();
        for (XProperty field : classFields) {
            if (version == -1 || version >= field.getPropertyVersion()) {
                builder.append(field.getType()).append(field.getName());
            }
        }
        int hashCode = builder.toString().hashCode();
		return (short) ((hashCode & 0xFFFF ) ^ ((hashCode & 0xFFFF0000) >> 16)) ;
    }
public short getVersionModelHashCode(int version) {
    	List<XProperty> classFields = getOrderedProperties();
    	
        StringBuilder builder = new StringBuilder();
        for (XProperty field : classFields) {
            if (version == -1 || version >= field.getPropertyVersion()) {
                builder.append(field.getType()).append(field.getName());
            }
        }
        int hashCode = builder.toString().hashCode();
		return (short) ((hashCode & 0xFFFF ) ^ ((hashCode & 0xFFFF0000) >> 16)) ;
    }
Returns a hash code of class model for specified bean version based on fields that this model contains.

@param version bean version to get metadata hashcode.
@return the hashcode (16bits)