public synchronized int hashCode() {
        if (__hashCodeCalc) {
            return 0;
        }
        __hashCodeCalc = true;
        int _hashCode = 1;
        if (getId() != null) {
            _hashCode += getId().hashCode();
        }
        if (getName() != null) {
            _hashCode += getName().hashCode();
        }
        if (getStatus() != null) {
            _hashCode += getStatus().hashCode();
        }
        if (getEnabled() != null) {
            _hashCode += getEnabled().hashCode();
        }
        if (getView_state() != null) {
            _hashCode += getView_state().hashCode();
        }
        if (getAccess_min() != null) {
            _hashCode += getAccess_min().hashCode();
        }
        if (getFile_path() != null) {
            _hashCode += getFile_path().hashCode();
        }
        if (getDescription() != null) {
            _hashCode += getDescription().hashCode();
        }
        if (getSubprojects() != null) {
            for (int i=0;
                 i<java.lang.reflect.Array.getLength(getSubprojects());
                 i++) {
                java.lang.Object obj = java.lang.reflect.Array.get(getSubprojects(), i);
                if (obj != null &&
                    !obj.getClass().isArray()) {
                    _hashCode += obj.hashCode();
                }
            }
        }
        if (getInherit_global() != null) {
            _hashCode += getInherit_global().hashCode();
        }
        __hashCodeCalc = false;
        return _hashCode;
    }
public synchronized int hashCode()