@Override
    public int hashCode() {
        int prime = 31;
        int prime2 = 47;
        int tId = this.projectId;
        int tFCount = this.recordCount;
        int tYCoord = this.firstYCoord;
        int tFHeight = this.fieldHeight;
        int tTitle;
        if (tId == 0) {
            tId = prime;
        }
        if (tFCount < 0) {
            tFCount = prime2;
        }
        if (tYCoord < 0) {
            tYCoord = prime ^ prime2;
        }
        if (tFHeight < 0) {
            tFHeight = prime * prime2;
        }
        if (this.title == null) {
            tTitle = prime;
        }
        else {
            tTitle = this.title.length();
        }
        int hash = tId * prime2;
        hash *= tFCount ^ prime;
        hash += tYCoord * prime2;
        hash *= tFHeight ^ prime;
        hash += tTitle * prime2;
        
        return hash;
    }