public int hashCode() {
   if (hashCode == null) {
     int result = (parent != null ? parent.hashCode() : 0);
     result = 29 * result + cursor;
     result = 29 * result + stateCode;
     result = 29 * result + groupLevel;
     result = 29 * result + subreport;
     result = 29 * result + (restoreState ? 1 : 0);
     result = 29 * result + (inlineSubReportState ? 1 : 0);
     // noinspection UnnecessaryBoxing
     hashCode = Integer.valueOf(result);
     return result;
   }
   return hashCode.intValue();
 }