protected void acceptHashcode(T model) {
        requireNonNull(model);
            
        model.add(Method.of(HASHCODE, int.class)
            .set(
                Javadoc.of(
                    "Generates a hashCode for this object. If any field is " +
                    "changed to another value, the hashCode may be different. " +
                    "Two objects with the same values are guaranteed to have " +
                    "the same hashCode. Two objects with the same hashCode are " +
                    "not guaranteed to have the same hashCode."
                )
                .add(RETURN.setText("The hash code."))
            ).public_()
            .add(OVERRIDE)
            .add("int hash = 7;")
            .add(model.getFields().stream()
                .map(this::hash)
                .collect(Collectors.joining(Formatting.nl()))
            )
            .add("return hash;")
        );
    }
The <code>hashCode()</code>-part of the <code>accept</code> method.

@param model  the model
common-parent/codegen/src/main/java/com/speedment/common/codegen/controller/AutoEquals.java