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)) ;
    }
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)
Returns a hash code of class model for specified bean version based on fields that this model contains .