code: 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)) ;
      }
docs: 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)