public int compareTo(Object obj) {
    if (obj == null) {
      return (-1);
    } else if (obj instanceof CFBamEnumTagBuff) {
      CFBamEnumTagBuff rhs = (CFBamEnumTagBuff) obj;
      int retval = super.compareTo(rhs);
      if (retval != 0) {
        return (retval);
      }
      return (0);
    } else if (obj instanceof CFBamEnumTagByEnumTagTenantIdxKey) {
      CFBamEnumTagByEnumTagTenantIdxKey rhs = (CFBamEnumTagByEnumTagTenantIdxKey) obj;

      if (getRequiredTenantId() < rhs.getRequiredTenantId()) {
        return (-1);
      } else if (getRequiredTenantId() > rhs.getRequiredTenantId()) {
        return (1);
      }
      return (0);
    } else if (obj instanceof CFBamEnumTagByEnumIdxKey) {
      CFBamEnumTagByEnumIdxKey rhs = (CFBamEnumTagByEnumIdxKey) obj;

      if (getRequiredTenantId() < rhs.getRequiredTenantId()) {
        return (-1);
      } else if (getRequiredTenantId() > rhs.getRequiredTenantId()) {
        return (1);
      }
      if (getRequiredEnumId() < rhs.getRequiredEnumId()) {
        return (-1);
      } else if (getRequiredEnumId() > rhs.getRequiredEnumId()) {
        return (1);
      }
      return (0);
    } else if (obj instanceof CFBamEnumTagByDefSchemaIdxKey) {
      CFBamEnumTagByDefSchemaIdxKey rhs = (CFBamEnumTagByDefSchemaIdxKey) obj;

      if (getOptionalDefSchemaTenantId() != null) {
        Long lhsDefSchemaTenantId = getOptionalDefSchemaTenantId();
        if (rhs.getOptionalDefSchemaTenantId() != null) {
          Long rhsDefSchemaTenantId = rhs.getOptionalDefSchemaTenantId();
          int cmp = lhsDefSchemaTenantId.compareTo(rhsDefSchemaTenantId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalDefSchemaTenantId() != null) {
          return (-1);
        }
      }
      if (getOptionalDefSchemaId() != null) {
        Long lhsDefSchemaId = getOptionalDefSchemaId();
        if (rhs.getOptionalDefSchemaId() != null) {
          Long rhsDefSchemaId = rhs.getOptionalDefSchemaId();
          int cmp = lhsDefSchemaId.compareTo(rhsDefSchemaId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalDefSchemaId() != null) {
          return (-1);
        }
      }
      return (0);
    } else if (obj instanceof CFBamEnumTagByEnumNameIdxKey) {
      CFBamEnumTagByEnumNameIdxKey rhs = (CFBamEnumTagByEnumNameIdxKey) obj;

      if (getRequiredTenantId() < rhs.getRequiredTenantId()) {
        return (-1);
      } else if (getRequiredTenantId() > rhs.getRequiredTenantId()) {
        return (1);
      }
      if (getRequiredEnumId() < rhs.getRequiredEnumId()) {
        return (-1);
      } else if (getRequiredEnumId() > rhs.getRequiredEnumId()) {
        return (1);
      }
      {
        int cmp = getRequiredName().compareTo(rhs.getRequiredName());
        if (cmp != 0) {
          return (cmp);
        }
      }
      return (0);
    } else if (obj instanceof CFBamEnumTagByPrevIdxKey) {
      CFBamEnumTagByPrevIdxKey rhs = (CFBamEnumTagByPrevIdxKey) obj;

      if (getOptionalPrevTenantId() != null) {
        Long lhsPrevTenantId = getOptionalPrevTenantId();
        if (rhs.getOptionalPrevTenantId() != null) {
          Long rhsPrevTenantId = rhs.getOptionalPrevTenantId();
          int cmp = lhsPrevTenantId.compareTo(rhsPrevTenantId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalPrevTenantId() != null) {
          return (-1);
        }
      }
      if (getOptionalPrevId() != null) {
        Long lhsPrevId = getOptionalPrevId();
        if (rhs.getOptionalPrevId() != null) {
          Long rhsPrevId = rhs.getOptionalPrevId();
          int cmp = lhsPrevId.compareTo(rhsPrevId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalPrevId() != null) {
          return (-1);
        }
      }
      return (0);
    } else if (obj instanceof CFBamEnumTagByNextIdxKey) {
      CFBamEnumTagByNextIdxKey rhs = (CFBamEnumTagByNextIdxKey) obj;

      if (getOptionalNextTenantId() != null) {
        Long lhsNextTenantId = getOptionalNextTenantId();
        if (rhs.getOptionalNextTenantId() != null) {
          Long rhsNextTenantId = rhs.getOptionalNextTenantId();
          int cmp = lhsNextTenantId.compareTo(rhsNextTenantId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalNextTenantId() != null) {
          return (-1);
        }
      }
      if (getOptionalNextId() != null) {
        Long lhsNextId = getOptionalNextId();
        if (rhs.getOptionalNextId() != null) {
          Long rhsNextId = rhs.getOptionalNextId();
          int cmp = lhsNextId.compareTo(rhsNextId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalNextId() != null) {
          return (-1);
        }
      }
      return (0);
    } else if (obj instanceof CFBamEnumTagHBuff) {
      CFBamEnumTagHBuff rhs = (CFBamEnumTagHBuff) obj;

      int retval = 0;
      {
        long lhsAuditClusterId = getAuditClusterId();
        long rhsAuditClusterId = rhs.getAuditClusterId();
        if (lhsAuditClusterId < rhsAuditClusterId) {
          return (-1);
        } else if (lhsAuditClusterId > rhsAuditClusterId) {
          return (1);
        }
      }
      {
        Calendar lhsAuditStamp = getAuditStamp();
        Calendar rhsAuditStamp = rhs.getAuditStamp();
        if (lhsAuditStamp == null) {
          if (rhsAuditStamp != null) {
            return (-1);
          }
        } else if (rhsAuditStamp == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditStamp.compareTo(rhsAuditStamp);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      {
        short lhsAuditActionId = getAuditActionId();
        short rhsAuditActionId = rhs.getAuditActionId();
        if (lhsAuditActionId < rhsAuditActionId) {
          return (-1);
        } else if (lhsAuditActionId > rhsAuditActionId) {
          return (1);
        }
      }
      {
        int lhsRequiredRevision = getRequiredRevision();
        int rhsRequiredRevision = rhs.getRequiredRevision();
        if (lhsRequiredRevision < rhsRequiredRevision) {
          return (-1);
        } else if (lhsRequiredRevision > rhsRequiredRevision) {
          return (1);
        }
      }
      {
        UUID lhsAuditSessionId = getAuditSessionId();
        UUID rhsAuditSessionId = rhs.getAuditSessionId();
        if (lhsAuditSessionId == null) {
          if (rhsAuditSessionId != null) {
            return (-1);
          }
        } else if (rhsAuditSessionId == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditSessionId.compareTo(rhsAuditSessionId);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      {
        long lhsAuditClusterId = getAuditClusterId();
        long rhsAuditClusterId = rhs.getAuditClusterId();
        if (lhsAuditClusterId < rhsAuditClusterId) {
          return (-1);
        } else if (lhsAuditClusterId > rhsAuditClusterId) {
          return (1);
        }
      }
      {
        Calendar lhsAuditStamp = getAuditStamp();
        Calendar rhsAuditStamp = rhs.getAuditStamp();
        if (lhsAuditStamp == null) {
          if (rhsAuditStamp != null) {
            return (-1);
          }
        } else if (rhsAuditStamp == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditStamp.compareTo(rhsAuditStamp);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      {
        short lhsAuditActionId = getAuditActionId();
        short rhsAuditActionId = rhs.getAuditActionId();
        if (lhsAuditActionId < rhsAuditActionId) {
          return (-1);
        } else if (lhsAuditActionId > rhsAuditActionId) {
          return (1);
        }
      }
      {
        int lhsRequiredRevision = getRequiredRevision();
        int rhsRequiredRevision = rhs.getRequiredRevision();
        if (lhsRequiredRevision < rhsRequiredRevision) {
          return (-1);
        } else if (lhsRequiredRevision > rhsRequiredRevision) {
          return (1);
        }
      }
      {
        UUID lhsAuditSessionId = getAuditSessionId();
        UUID rhsAuditSessionId = rhs.getAuditSessionId();
        if (lhsAuditSessionId == null) {
          if (rhsAuditSessionId != null) {
            return (-1);
          }
        } else if (rhsAuditSessionId == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditSessionId.compareTo(rhsAuditSessionId);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      if (getRequiredTenantId() < rhs.getRequiredTenantId()) {
        return (-1);
      } else if (getRequiredTenantId() > rhs.getRequiredTenantId()) {
        return (1);
      }
      if (getRequiredId() < rhs.getRequiredId()) {
        return (-1);
      } else if (getRequiredId() > rhs.getRequiredId()) {
        return (1);
      }
      if (getOptionalDefSchemaTenantId() != null) {
        Long lhsDefSchemaTenantId = getOptionalDefSchemaTenantId();
        if (rhs.getOptionalDefSchemaTenantId() != null) {
          Long rhsDefSchemaTenantId = rhs.getOptionalDefSchemaTenantId();
          int cmp = lhsDefSchemaTenantId.compareTo(rhsDefSchemaTenantId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalDefSchemaTenantId() != null) {
          return (-1);
        }
      }
      if (getOptionalDefSchemaId() != null) {
        Long lhsDefSchemaId = getOptionalDefSchemaId();
        if (rhs.getOptionalDefSchemaId() != null) {
          Long rhsDefSchemaId = rhs.getOptionalDefSchemaId();
          int cmp = lhsDefSchemaId.compareTo(rhsDefSchemaId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalDefSchemaId() != null) {
          return (-1);
        }
      }
      if (getRequiredEnumId() < rhs.getRequiredEnumId()) {
        return (-1);
      } else if (getRequiredEnumId() > rhs.getRequiredEnumId()) {
        return (1);
      }
      if (getOptionalEnumCode() != null) {
        Short lhsEnumCode = getOptionalEnumCode();
        if (rhs.getOptionalEnumCode() != null) {
          Short rhsEnumCode = rhs.getOptionalEnumCode();
          int cmp = lhsEnumCode.compareTo(rhsEnumCode);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalEnumCode() != null) {
          return (-1);
        }
      }
      {
        int cmp = getRequiredName().compareTo(rhs.getRequiredName());
        if (cmp != 0) {
          return (cmp);
        }
      }
      if (getOptionalPrevTenantId() != null) {
        Long lhsPrevTenantId = getOptionalPrevTenantId();
        if (rhs.getOptionalPrevTenantId() != null) {
          Long rhsPrevTenantId = rhs.getOptionalPrevTenantId();
          int cmp = lhsPrevTenantId.compareTo(rhsPrevTenantId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalPrevTenantId() != null) {
          return (-1);
        }
      }
      if (getOptionalPrevId() != null) {
        Long lhsPrevId = getOptionalPrevId();
        if (rhs.getOptionalPrevId() != null) {
          Long rhsPrevId = rhs.getOptionalPrevId();
          int cmp = lhsPrevId.compareTo(rhsPrevId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalPrevId() != null) {
          return (-1);
        }
      }
      if (getOptionalNextTenantId() != null) {
        Long lhsNextTenantId = getOptionalNextTenantId();
        if (rhs.getOptionalNextTenantId() != null) {
          Long rhsNextTenantId = rhs.getOptionalNextTenantId();
          int cmp = lhsNextTenantId.compareTo(rhsNextTenantId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalNextTenantId() != null) {
          return (-1);
        }
      }
      if (getOptionalNextId() != null) {
        Long lhsNextId = getOptionalNextId();
        if (rhs.getOptionalNextId() != null) {
          Long rhsNextId = rhs.getOptionalNextId();
          int cmp = lhsNextId.compareTo(rhsNextId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalNextId() != null) {
          return (-1);
        }
      }
      return (0);
    } else if (obj instanceof CFBamEnumTagHPKey) {
      CFBamEnumTagHPKey rhs = (CFBamEnumTagHPKey) obj;
      {
        long lhsAuditClusterId = getAuditClusterId();
        long rhsAuditClusterId = rhs.getAuditClusterId();
        if (lhsAuditClusterId < rhsAuditClusterId) {
          return (-1);
        } else if (lhsAuditClusterId > rhsAuditClusterId) {
          return (1);
        }
      }
      {
        Calendar lhsAuditStamp = getAuditStamp();
        Calendar rhsAuditStamp = rhs.getAuditStamp();
        if (lhsAuditStamp == null) {
          if (rhsAuditStamp != null) {
            return (-1);
          }
        } else if (rhsAuditStamp == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditStamp.compareTo(rhsAuditStamp);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      {
        short lhsAuditActionId = getAuditActionId();
        short rhsAuditActionId = rhs.getAuditActionId();
        if (lhsAuditActionId < rhsAuditActionId) {
          return (-1);
        } else if (lhsAuditActionId > rhsAuditActionId) {
          return (1);
        }
      }
      {
        int lhsRequiredRevision = getRequiredRevision();
        int rhsRequiredRevision = rhs.getRequiredRevision();
        if (lhsRequiredRevision < rhsRequiredRevision) {
          return (-1);
        } else if (lhsRequiredRevision > rhsRequiredRevision) {
          return (1);
        }
      }
      {
        UUID lhsAuditSessionId = getAuditSessionId();
        UUID rhsAuditSessionId = rhs.getAuditSessionId();
        if (lhsAuditSessionId == null) {
          if (rhsAuditSessionId != null) {
            return (-1);
          }
        } else if (rhsAuditSessionId == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditSessionId.compareTo(rhsAuditSessionId);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      if (getRequiredTenantId() < rhs.getRequiredTenantId()) {
        return (-1);
      } else if (getRequiredTenantId() > rhs.getRequiredTenantId()) {
        return (1);
      }
      if (getRequiredId() < rhs.getRequiredId()) {
        return (-1);
      } else if (getRequiredId() > rhs.getRequiredId()) {
        return (1);
      }
      return (0);
    } else if (obj instanceof CFBamEnumTagPKey) {
      CFBamEnumTagPKey rhs = (CFBamEnumTagPKey) obj;
      if (getRequiredTenantId() < rhs.getRequiredTenantId()) {
        return (-1);
      } else if (getRequiredTenantId() > rhs.getRequiredTenantId()) {
        return (1);
      }
      if (getRequiredId() < rhs.getRequiredId()) {
        return (-1);
      } else if (getRequiredId() > rhs.getRequiredId()) {
        return (1);
      }
      return (0);
    } else if (obj instanceof CFBamHPKey) {
      CFBamHPKey rhs = (CFBamHPKey) obj;
      {
        int lhsRequiredRevision = getRequiredRevision();
        int rhsRequiredRevision = rhs.getRequiredRevision();
        if (lhsRequiredRevision < rhsRequiredRevision) {
          return (-1);
        } else if (lhsRequiredRevision > rhsRequiredRevision) {
          return (1);
        }
      }
      return (0);
    } else {
      return (super.compareTo(obj));
    }
  }
  public int compareTo(Object obj) {
    if (obj == null) {
      return (-1);
    } else if (obj instanceof CFSecuritySysClusterBuff) {
      CFSecuritySysClusterBuff rhs = (CFSecuritySysClusterBuff) obj;
      int retval = super.compareTo(rhs);
      if (retval != 0) {
        return (retval);
      }
      return (0);
    } else if (obj instanceof CFSecuritySysClusterByClusterIdxKey) {
      CFSecuritySysClusterByClusterIdxKey rhs = (CFSecuritySysClusterByClusterIdxKey) obj;

      if (getRequiredClusterId() < rhs.getRequiredClusterId()) {
        return (-1);
      } else if (getRequiredClusterId() > rhs.getRequiredClusterId()) {
        return (1);
      }
      return (0);
    } else if (obj instanceof CFSecuritySysClusterHBuff) {
      CFSecuritySysClusterHBuff rhs = (CFSecuritySysClusterHBuff) obj;

      int retval = 0;
      {
        long lhsAuditClusterId = getAuditClusterId();
        long rhsAuditClusterId = rhs.getAuditClusterId();
        if (lhsAuditClusterId < rhsAuditClusterId) {
          return (-1);
        } else if (lhsAuditClusterId > rhsAuditClusterId) {
          return (1);
        }
      }
      {
        Calendar lhsAuditStamp = getAuditStamp();
        Calendar rhsAuditStamp = rhs.getAuditStamp();
        if (lhsAuditStamp == null) {
          if (rhsAuditStamp != null) {
            return (-1);
          }
        } else if (rhsAuditStamp == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditStamp.compareTo(rhsAuditStamp);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      {
        short lhsAuditActionId = getAuditActionId();
        short rhsAuditActionId = rhs.getAuditActionId();
        if (lhsAuditActionId < rhsAuditActionId) {
          return (-1);
        } else if (lhsAuditActionId > rhsAuditActionId) {
          return (1);
        }
      }
      {
        int lhsRequiredRevision = getRequiredRevision();
        int rhsRequiredRevision = rhs.getRequiredRevision();
        if (lhsRequiredRevision < rhsRequiredRevision) {
          return (-1);
        } else if (lhsRequiredRevision > rhsRequiredRevision) {
          return (1);
        }
      }
      {
        UUID lhsAuditSessionId = getAuditSessionId();
        UUID rhsAuditSessionId = rhs.getAuditSessionId();
        if (lhsAuditSessionId == null) {
          if (rhsAuditSessionId != null) {
            return (-1);
          }
        } else if (rhsAuditSessionId == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditSessionId.compareTo(rhsAuditSessionId);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      {
        long lhsAuditClusterId = getAuditClusterId();
        long rhsAuditClusterId = rhs.getAuditClusterId();
        if (lhsAuditClusterId < rhsAuditClusterId) {
          return (-1);
        } else if (lhsAuditClusterId > rhsAuditClusterId) {
          return (1);
        }
      }
      {
        Calendar lhsAuditStamp = getAuditStamp();
        Calendar rhsAuditStamp = rhs.getAuditStamp();
        if (lhsAuditStamp == null) {
          if (rhsAuditStamp != null) {
            return (-1);
          }
        } else if (rhsAuditStamp == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditStamp.compareTo(rhsAuditStamp);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      {
        short lhsAuditActionId = getAuditActionId();
        short rhsAuditActionId = rhs.getAuditActionId();
        if (lhsAuditActionId < rhsAuditActionId) {
          return (-1);
        } else if (lhsAuditActionId > rhsAuditActionId) {
          return (1);
        }
      }
      {
        int lhsRequiredRevision = getRequiredRevision();
        int rhsRequiredRevision = rhs.getRequiredRevision();
        if (lhsRequiredRevision < rhsRequiredRevision) {
          return (-1);
        } else if (lhsRequiredRevision > rhsRequiredRevision) {
          return (1);
        }
      }
      {
        UUID lhsAuditSessionId = getAuditSessionId();
        UUID rhsAuditSessionId = rhs.getAuditSessionId();
        if (lhsAuditSessionId == null) {
          if (rhsAuditSessionId != null) {
            return (-1);
          }
        } else if (rhsAuditSessionId == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditSessionId.compareTo(rhsAuditSessionId);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      if (getRequiredSingletonId() < rhs.getRequiredSingletonId()) {
        return (-1);
      } else if (getRequiredSingletonId() > rhs.getRequiredSingletonId()) {
        return (1);
      }
      if (getRequiredClusterId() < rhs.getRequiredClusterId()) {
        return (-1);
      } else if (getRequiredClusterId() > rhs.getRequiredClusterId()) {
        return (1);
      }
      return (0);
    } else if (obj instanceof CFSecuritySysClusterHPKey) {
      CFSecuritySysClusterHPKey rhs = (CFSecuritySysClusterHPKey) obj;
      {
        long lhsAuditClusterId = getAuditClusterId();
        long rhsAuditClusterId = rhs.getAuditClusterId();
        if (lhsAuditClusterId < rhsAuditClusterId) {
          return (-1);
        } else if (lhsAuditClusterId > rhsAuditClusterId) {
          return (1);
        }
      }
      {
        Calendar lhsAuditStamp = getAuditStamp();
        Calendar rhsAuditStamp = rhs.getAuditStamp();
        if (lhsAuditStamp == null) {
          if (rhsAuditStamp != null) {
            return (-1);
          }
        } else if (rhsAuditStamp == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditStamp.compareTo(rhsAuditStamp);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      {
        short lhsAuditActionId = getAuditActionId();
        short rhsAuditActionId = rhs.getAuditActionId();
        if (lhsAuditActionId < rhsAuditActionId) {
          return (-1);
        } else if (lhsAuditActionId > rhsAuditActionId) {
          return (1);
        }
      }
      {
        int lhsRequiredRevision = getRequiredRevision();
        int rhsRequiredRevision = rhs.getRequiredRevision();
        if (lhsRequiredRevision < rhsRequiredRevision) {
          return (-1);
        } else if (lhsRequiredRevision > rhsRequiredRevision) {
          return (1);
        }
      }
      {
        UUID lhsAuditSessionId = getAuditSessionId();
        UUID rhsAuditSessionId = rhs.getAuditSessionId();
        if (lhsAuditSessionId == null) {
          if (rhsAuditSessionId != null) {
            return (-1);
          }
        } else if (rhsAuditSessionId == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditSessionId.compareTo(rhsAuditSessionId);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      if (getRequiredSingletonId() < rhs.getRequiredSingletonId()) {
        return (-1);
      } else if (getRequiredSingletonId() > rhs.getRequiredSingletonId()) {
        return (1);
      }
      return (0);
    } else if (obj instanceof CFSecuritySysClusterPKey) {
      CFSecuritySysClusterPKey rhs = (CFSecuritySysClusterPKey) obj;
      if (getRequiredSingletonId() < rhs.getRequiredSingletonId()) {
        return (-1);
      } else if (getRequiredSingletonId() > rhs.getRequiredSingletonId()) {
        return (1);
      }
      return (0);
    } else if (obj instanceof CFSecurityHPKey) {
      CFSecurityHPKey rhs = (CFSecurityHPKey) obj;
      {
        int lhsRequiredRevision = getRequiredRevision();
        int rhsRequiredRevision = rhs.getRequiredRevision();
        if (lhsRequiredRevision < rhsRequiredRevision) {
          return (-1);
        } else if (lhsRequiredRevision > rhsRequiredRevision) {
          return (1);
        }
      }
      return (0);
    } else {
      return (super.compareTo(obj));
    }
  }
  public int compareTo(Object obj) {
    if (obj == null) {
      return (-1);
    } else if (obj instanceof CFBamVersionBuff) {
      CFBamVersionBuff rhs = (CFBamVersionBuff) obj;
      int retval = super.compareTo(rhs);
      if (retval != 0) {
        return (retval);
      }
      return (0);
    } else if (obj instanceof CFBamVersionHBuff) {
      CFBamVersionHBuff rhs = (CFBamVersionHBuff) obj;

      int retval = super.compareTo(rhs);
      if (retval != 0) {
        return (retval);
      }
      {
        long lhsAuditClusterId = getAuditClusterId();
        long rhsAuditClusterId = rhs.getAuditClusterId();
        if (lhsAuditClusterId < rhsAuditClusterId) {
          return (-1);
        } else if (lhsAuditClusterId > rhsAuditClusterId) {
          return (1);
        }
      }
      {
        Calendar lhsAuditStamp = getAuditStamp();
        Calendar rhsAuditStamp = rhs.getAuditStamp();
        if (lhsAuditStamp == null) {
          if (rhsAuditStamp != null) {
            return (-1);
          }
        } else if (rhsAuditStamp == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditStamp.compareTo(rhsAuditStamp);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      {
        short lhsAuditActionId = getAuditActionId();
        short rhsAuditActionId = rhs.getAuditActionId();
        if (lhsAuditActionId < rhsAuditActionId) {
          return (-1);
        } else if (lhsAuditActionId > rhsAuditActionId) {
          return (1);
        }
      }
      {
        int lhsRequiredRevision = getRequiredRevision();
        int rhsRequiredRevision = rhs.getRequiredRevision();
        if (lhsRequiredRevision < rhsRequiredRevision) {
          return (-1);
        } else if (lhsRequiredRevision > rhsRequiredRevision) {
          return (1);
        }
      }
      {
        UUID lhsAuditSessionId = getAuditSessionId();
        UUID rhsAuditSessionId = rhs.getAuditSessionId();
        if (lhsAuditSessionId == null) {
          if (rhsAuditSessionId != null) {
            return (-1);
          }
        } else if (rhsAuditSessionId == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditSessionId.compareTo(rhsAuditSessionId);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      if (getRequiredTenantId() < rhs.getRequiredTenantId()) {
        return (-1);
      } else if (getRequiredTenantId() > rhs.getRequiredTenantId()) {
        return (1);
      }
      if (getRequiredId() < rhs.getRequiredId()) {
        return (-1);
      } else if (getRequiredId() > rhs.getRequiredId()) {
        return (1);
      }
      if (getOptionalDescription() != null) {
        if (rhs.getOptionalDescription() != null) {
          int cmp = getOptionalDescription().compareTo(rhs.getOptionalDescription());
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalDescription() != null) {
          return (-1);
        }
      }
      return (0);
    } else {
      return (super.compareTo(obj));
    }
  }
 public int compareTo(Object obj) {
   if (obj == null) {
     return (-1);
   } else if (obj instanceof CFBamISOLanguageHBuff) {
     CFBamISOLanguageHBuff rhs = (CFBamISOLanguageHBuff) obj;
     int retval = 0;
     {
       long lhsAuditClusterId = getAuditClusterId();
       long rhsAuditClusterId = rhs.getAuditClusterId();
       if (lhsAuditClusterId < rhsAuditClusterId) {
         return (-1);
       } else if (lhsAuditClusterId > rhsAuditClusterId) {
         return (1);
       }
     }
     {
       Calendar lhsAuditStamp = getAuditStamp();
       Calendar rhsAuditStamp = rhs.getAuditStamp();
       if (lhsAuditStamp == null) {
         if (rhsAuditStamp != null) {
           return (-1);
         }
       } else if (rhsAuditStamp == null) {
         return (1);
       } else {
         int cmpstat = lhsAuditStamp.compareTo(rhsAuditStamp);
         if (cmpstat != 0) {
           return (cmpstat);
         }
       }
     }
     {
       short lhsAuditActionId = getAuditActionId();
       short rhsAuditActionId = rhs.getAuditActionId();
       if (lhsAuditActionId < rhsAuditActionId) {
         return (-1);
       } else if (lhsAuditActionId > rhsAuditActionId) {
         return (1);
       }
     }
     {
       int lhsRequiredRevision = getRequiredRevision();
       int rhsRequiredRevision = rhs.getRequiredRevision();
       if (lhsRequiredRevision < rhsRequiredRevision) {
         return (-1);
       } else if (lhsRequiredRevision > rhsRequiredRevision) {
         return (1);
       }
     }
     {
       UUID lhsAuditSessionId = getAuditSessionId();
       UUID rhsAuditSessionId = rhs.getAuditSessionId();
       if (lhsAuditSessionId == null) {
         if (rhsAuditSessionId != null) {
           return (-1);
         }
       } else if (rhsAuditSessionId == null) {
         return (1);
       } else {
         int cmpstat = lhsAuditSessionId.compareTo(rhsAuditSessionId);
         if (cmpstat != 0) {
           return (cmpstat);
         }
       }
     }
     if (getRequiredId() < rhs.getRequiredId()) {
       return (-1);
     } else if (getRequiredId() > rhs.getRequiredId()) {
       return (1);
     }
     return (0);
   } else if (obj instanceof CFBamISOLanguageHPKey) {
     CFBamISOLanguageHPKey rhs = (CFBamISOLanguageHPKey) obj;
     {
       long lhsAuditClusterId = getAuditClusterId();
       long rhsAuditClusterId = rhs.getAuditClusterId();
       if (lhsAuditClusterId < rhsAuditClusterId) {
         return (-1);
       } else if (lhsAuditClusterId > rhsAuditClusterId) {
         return (1);
       }
     }
     {
       Calendar lhsAuditStamp = getAuditStamp();
       Calendar rhsAuditStamp = rhs.getAuditStamp();
       if (lhsAuditStamp == null) {
         if (rhsAuditStamp != null) {
           return (-1);
         }
       } else if (rhsAuditStamp == null) {
         return (1);
       } else {
         int cmpstat = lhsAuditStamp.compareTo(rhsAuditStamp);
         if (cmpstat != 0) {
           return (cmpstat);
         }
       }
     }
     {
       short lhsAuditActionId = getAuditActionId();
       short rhsAuditActionId = rhs.getAuditActionId();
       if (lhsAuditActionId < rhsAuditActionId) {
         return (-1);
       } else if (lhsAuditActionId > rhsAuditActionId) {
         return (1);
       }
     }
     {
       int lhsRequiredRevision = getRequiredRevision();
       int rhsRequiredRevision = rhs.getRequiredRevision();
       if (lhsRequiredRevision < rhsRequiredRevision) {
         return (-1);
       } else if (lhsRequiredRevision > rhsRequiredRevision) {
         return (1);
       }
     }
     {
       UUID lhsAuditSessionId = getAuditSessionId();
       UUID rhsAuditSessionId = rhs.getAuditSessionId();
       if (lhsAuditSessionId == null) {
         if (rhsAuditSessionId != null) {
           return (-1);
         }
       } else if (rhsAuditSessionId == null) {
         return (1);
       } else {
         int cmpstat = lhsAuditSessionId.compareTo(rhsAuditSessionId);
         if (cmpstat != 0) {
           return (cmpstat);
         }
       }
     }
     if (getRequiredId() < rhs.getRequiredId()) {
       return (-1);
     } else if (getRequiredId() > rhs.getRequiredId()) {
       return (1);
     }
     return (0);
   } else if (obj instanceof CFBamHPKey) {
     CFBamHPKey rhs = (CFBamHPKey) obj;
     {
       long lhsAuditClusterId = getAuditClusterId();
       long rhsAuditClusterId = rhs.getAuditClusterId();
       if (lhsAuditClusterId < rhsAuditClusterId) {
         return (-1);
       } else if (lhsAuditClusterId > rhsAuditClusterId) {
         return (1);
       }
     }
     {
       Calendar lhsAuditStamp = getAuditStamp();
       Calendar rhsAuditStamp = rhs.getAuditStamp();
       if (lhsAuditStamp == null) {
         if (rhsAuditStamp != null) {
           return (-1);
         }
       } else if (rhsAuditStamp == null) {
         return (1);
       } else {
         int cmpstat = lhsAuditStamp.compareTo(rhsAuditStamp);
         if (cmpstat != 0) {
           return (cmpstat);
         }
       }
     }
     {
       short lhsAuditActionId = getAuditActionId();
       short rhsAuditActionId = rhs.getAuditActionId();
       if (lhsAuditActionId < rhsAuditActionId) {
         return (-1);
       } else if (lhsAuditActionId > rhsAuditActionId) {
         return (1);
       }
     }
     {
       int lhsRequiredRevision = getRequiredRevision();
       int rhsRequiredRevision = rhs.getRequiredRevision();
       if (lhsRequiredRevision < rhsRequiredRevision) {
         return (-1);
       } else if (lhsRequiredRevision > rhsRequiredRevision) {
         return (1);
       }
     }
     {
       UUID lhsAuditSessionId = getAuditSessionId();
       UUID rhsAuditSessionId = rhs.getAuditSessionId();
       if (lhsAuditSessionId == null) {
         if (rhsAuditSessionId != null) {
           return (-1);
         }
       } else if (rhsAuditSessionId == null) {
         return (1);
       } else {
         int cmpstat = lhsAuditSessionId.compareTo(rhsAuditSessionId);
         if (cmpstat != 0) {
           return (cmpstat);
         }
       }
     }
     return (0);
   } else if (obj instanceof CFBamISOLanguagePKey) {
     CFBamISOLanguagePKey rhs = (CFBamISOLanguagePKey) obj;
     if (getRequiredId() < rhs.getRequiredId()) {
       return (-1);
     } else if (getRequiredId() > rhs.getRequiredId()) {
       return (1);
     }
     return (0);
   } else if (obj instanceof CFBamISOLanguageBuff) {
     CFBamISOLanguageBuff rhs = (CFBamISOLanguageBuff) obj;
     if (getRequiredId() < rhs.getRequiredId()) {
       return (-1);
     } else if (getRequiredId() > rhs.getRequiredId()) {
       return (1);
     }
     return (0);
   } else {
     throw CFLib.getDefaultExceptionFactory()
         .newUnsupportedClassException(
             getClass(),
             "compareTo",
             "obj",
             obj,
             "CFBamISOLanguageHPKey, CFBamISOLanguagePKey, CFBamISOLanguageBuff");
   }
 }
  public int compareTo(Object obj) {
    if (obj == null) {
      return (-1);
    } else if (obj instanceof CFAsteriskExtensionsConfBuff) {
      CFAsteriskExtensionsConfBuff rhs = (CFAsteriskExtensionsConfBuff) obj;
      int retval = super.compareTo(rhs);
      if (retval != 0) {
        return (retval);
      }
      return (0);
    } else if (obj instanceof CFAsteriskExtensionsConfByExtClusterIdxKey) {
      CFAsteriskExtensionsConfByExtClusterIdxKey rhs =
          (CFAsteriskExtensionsConfByExtClusterIdxKey) obj;

      if (getRequiredClusterId() < rhs.getRequiredClusterId()) {
        return (-1);
      } else if (getRequiredClusterId() > rhs.getRequiredClusterId()) {
        return (1);
      }
      return (0);
    } else if (obj instanceof CFAsteriskExtensionsConfHBuff) {
      CFAsteriskExtensionsConfHBuff rhs = (CFAsteriskExtensionsConfHBuff) obj;

      int retval = super.compareTo(rhs);
      if (retval != 0) {
        return (retval);
      }
      {
        long lhsAuditClusterId = getAuditClusterId();
        long rhsAuditClusterId = rhs.getAuditClusterId();
        if (lhsAuditClusterId < rhsAuditClusterId) {
          return (-1);
        } else if (lhsAuditClusterId > rhsAuditClusterId) {
          return (1);
        }
      }
      {
        Calendar lhsAuditStamp = getAuditStamp();
        Calendar rhsAuditStamp = rhs.getAuditStamp();
        if (lhsAuditStamp == null) {
          if (rhsAuditStamp != null) {
            return (-1);
          }
        } else if (rhsAuditStamp == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditStamp.compareTo(rhsAuditStamp);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      {
        short lhsAuditActionId = getAuditActionId();
        short rhsAuditActionId = rhs.getAuditActionId();
        if (lhsAuditActionId < rhsAuditActionId) {
          return (-1);
        } else if (lhsAuditActionId > rhsAuditActionId) {
          return (1);
        }
      }
      {
        int lhsRequiredRevision = getRequiredRevision();
        int rhsRequiredRevision = rhs.getRequiredRevision();
        if (lhsRequiredRevision < rhsRequiredRevision) {
          return (-1);
        } else if (lhsRequiredRevision > rhsRequiredRevision) {
          return (1);
        }
      }
      {
        UUID lhsAuditSessionId = getAuditSessionId();
        UUID rhsAuditSessionId = rhs.getAuditSessionId();
        if (lhsAuditSessionId == null) {
          if (rhsAuditSessionId != null) {
            return (-1);
          }
        } else if (rhsAuditSessionId == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditSessionId.compareTo(rhsAuditSessionId);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      if (getRequiredClusterId() < rhs.getRequiredClusterId()) {
        return (-1);
      } else if (getRequiredClusterId() > rhs.getRequiredClusterId()) {
        return (1);
      }
      if (getRequiredId() < rhs.getRequiredId()) {
        return (-1);
      } else if (getRequiredId() > rhs.getRequiredId()) {
        return (1);
      }
      if (getRequiredHostNodeId() < rhs.getRequiredHostNodeId()) {
        return (-1);
      } else if (getRequiredHostNodeId() > rhs.getRequiredHostNodeId()) {
        return (1);
      }
      {
        int cmp = getRequiredFileFullName().compareTo(rhs.getRequiredFileFullName());
        if (cmp != 0) {
          return (cmp);
        }
      }
      {
        int cmp = getRequiredFileContents().compareTo(rhs.getRequiredFileContents());
        if (cmp != 0) {
          return (cmp);
        }
      }
      return (0);
    } else {
      return (super.compareTo(obj));
    }
  }
  public int compareTo(Object obj) {
    if (obj == null) {
      return (-1);
    } else if (obj instanceof CFCrmAddressBuff) {
      CFCrmAddressBuff rhs = (CFCrmAddressBuff) obj;
      int retval = super.compareTo(rhs);
      if (retval != 0) {
        return (retval);
      }
      return (0);
    } else if (obj instanceof CFCrmAddressByTenantIdxKey) {
      CFCrmAddressByTenantIdxKey rhs = (CFCrmAddressByTenantIdxKey) obj;

      if (getRequiredTenantId() < rhs.getRequiredTenantId()) {
        return (-1);
      } else if (getRequiredTenantId() > rhs.getRequiredTenantId()) {
        return (1);
      }
      return (0);
    } else if (obj instanceof CFCrmAddressByContactIdxKey) {
      CFCrmAddressByContactIdxKey rhs = (CFCrmAddressByContactIdxKey) obj;

      if (getRequiredTenantId() < rhs.getRequiredTenantId()) {
        return (-1);
      } else if (getRequiredTenantId() > rhs.getRequiredTenantId()) {
        return (1);
      }
      if (getRequiredContactId() < rhs.getRequiredContactId()) {
        return (-1);
      } else if (getRequiredContactId() > rhs.getRequiredContactId()) {
        return (1);
      }
      return (0);
    } else if (obj instanceof CFCrmAddressByUDescrIdxKey) {
      CFCrmAddressByUDescrIdxKey rhs = (CFCrmAddressByUDescrIdxKey) obj;

      if (getRequiredTenantId() < rhs.getRequiredTenantId()) {
        return (-1);
      } else if (getRequiredTenantId() > rhs.getRequiredTenantId()) {
        return (1);
      }
      if (getRequiredContactId() < rhs.getRequiredContactId()) {
        return (-1);
      } else if (getRequiredContactId() > rhs.getRequiredContactId()) {
        return (1);
      }
      {
        int cmp = getRequiredDescription().compareTo(rhs.getRequiredDescription());
        if (cmp != 0) {
          return (cmp);
        }
      }
      return (0);
    } else if (obj instanceof CFCrmAddressByCountryIdxKey) {
      CFCrmAddressByCountryIdxKey rhs = (CFCrmAddressByCountryIdxKey) obj;

      if (getOptionalCountryId() != null) {
        Short lhsCountryId = getOptionalCountryId();
        if (rhs.getOptionalCountryId() != null) {
          Short rhsCountryId = rhs.getOptionalCountryId();
          int cmp = lhsCountryId.compareTo(rhsCountryId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalCountryId() != null) {
          return (-1);
        }
      }
      return (0);
    } else if (obj instanceof CFCrmAddressHBuff) {
      CFCrmAddressHBuff rhs = (CFCrmAddressHBuff) obj;

      int retval = 0;
      {
        long lhsAuditClusterId = getAuditClusterId();
        long rhsAuditClusterId = rhs.getAuditClusterId();
        if (lhsAuditClusterId < rhsAuditClusterId) {
          return (-1);
        } else if (lhsAuditClusterId > rhsAuditClusterId) {
          return (1);
        }
      }
      {
        Calendar lhsAuditStamp = getAuditStamp();
        Calendar rhsAuditStamp = rhs.getAuditStamp();
        if (lhsAuditStamp == null) {
          if (rhsAuditStamp != null) {
            return (-1);
          }
        } else if (rhsAuditStamp == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditStamp.compareTo(rhsAuditStamp);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      {
        short lhsAuditActionId = getAuditActionId();
        short rhsAuditActionId = rhs.getAuditActionId();
        if (lhsAuditActionId < rhsAuditActionId) {
          return (-1);
        } else if (lhsAuditActionId > rhsAuditActionId) {
          return (1);
        }
      }
      {
        int lhsRequiredRevision = getRequiredRevision();
        int rhsRequiredRevision = rhs.getRequiredRevision();
        if (lhsRequiredRevision < rhsRequiredRevision) {
          return (-1);
        } else if (lhsRequiredRevision > rhsRequiredRevision) {
          return (1);
        }
      }
      {
        UUID lhsAuditSessionId = getAuditSessionId();
        UUID rhsAuditSessionId = rhs.getAuditSessionId();
        if (lhsAuditSessionId == null) {
          if (rhsAuditSessionId != null) {
            return (-1);
          }
        } else if (rhsAuditSessionId == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditSessionId.compareTo(rhsAuditSessionId);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      {
        long lhsAuditClusterId = getAuditClusterId();
        long rhsAuditClusterId = rhs.getAuditClusterId();
        if (lhsAuditClusterId < rhsAuditClusterId) {
          return (-1);
        } else if (lhsAuditClusterId > rhsAuditClusterId) {
          return (1);
        }
      }
      {
        Calendar lhsAuditStamp = getAuditStamp();
        Calendar rhsAuditStamp = rhs.getAuditStamp();
        if (lhsAuditStamp == null) {
          if (rhsAuditStamp != null) {
            return (-1);
          }
        } else if (rhsAuditStamp == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditStamp.compareTo(rhsAuditStamp);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      {
        short lhsAuditActionId = getAuditActionId();
        short rhsAuditActionId = rhs.getAuditActionId();
        if (lhsAuditActionId < rhsAuditActionId) {
          return (-1);
        } else if (lhsAuditActionId > rhsAuditActionId) {
          return (1);
        }
      }
      {
        int lhsRequiredRevision = getRequiredRevision();
        int rhsRequiredRevision = rhs.getRequiredRevision();
        if (lhsRequiredRevision < rhsRequiredRevision) {
          return (-1);
        } else if (lhsRequiredRevision > rhsRequiredRevision) {
          return (1);
        }
      }
      {
        UUID lhsAuditSessionId = getAuditSessionId();
        UUID rhsAuditSessionId = rhs.getAuditSessionId();
        if (lhsAuditSessionId == null) {
          if (rhsAuditSessionId != null) {
            return (-1);
          }
        } else if (rhsAuditSessionId == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditSessionId.compareTo(rhsAuditSessionId);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      if (getRequiredTenantId() < rhs.getRequiredTenantId()) {
        return (-1);
      } else if (getRequiredTenantId() > rhs.getRequiredTenantId()) {
        return (1);
      }
      if (getRequiredAddressId() < rhs.getRequiredAddressId()) {
        return (-1);
      } else if (getRequiredAddressId() > rhs.getRequiredAddressId()) {
        return (1);
      }
      if (getRequiredContactId() < rhs.getRequiredContactId()) {
        return (-1);
      } else if (getRequiredContactId() > rhs.getRequiredContactId()) {
        return (1);
      }
      {
        int cmp = getRequiredDescription().compareTo(rhs.getRequiredDescription());
        if (cmp != 0) {
          return (cmp);
        }
      }
      if (getOptionalAddrLine1() != null) {
        if (rhs.getOptionalAddrLine1() != null) {
          int cmp = getOptionalAddrLine1().compareTo(rhs.getOptionalAddrLine1());
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalAddrLine1() != null) {
          return (-1);
        }
      }
      if (getOptionalAddrLine2() != null) {
        if (rhs.getOptionalAddrLine2() != null) {
          int cmp = getOptionalAddrLine2().compareTo(rhs.getOptionalAddrLine2());
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalAddrLine2() != null) {
          return (-1);
        }
      }
      if (getOptionalCity() != null) {
        if (rhs.getOptionalCity() != null) {
          int cmp = getOptionalCity().compareTo(rhs.getOptionalCity());
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalCity() != null) {
          return (-1);
        }
      }
      if (getOptionalState() != null) {
        if (rhs.getOptionalState() != null) {
          int cmp = getOptionalState().compareTo(rhs.getOptionalState());
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalState() != null) {
          return (-1);
        }
      }
      if (getOptionalCountryId() != null) {
        Short lhsCountryId = getOptionalCountryId();
        if (rhs.getOptionalCountryId() != null) {
          Short rhsCountryId = rhs.getOptionalCountryId();
          int cmp = lhsCountryId.compareTo(rhsCountryId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalCountryId() != null) {
          return (-1);
        }
      }
      if (getOptionalZip() != null) {
        if (rhs.getOptionalZip() != null) {
          int cmp = getOptionalZip().compareTo(rhs.getOptionalZip());
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalZip() != null) {
          return (-1);
        }
      }
      return (0);
    } else if (obj instanceof CFCrmAddressHPKey) {
      CFCrmAddressHPKey rhs = (CFCrmAddressHPKey) obj;
      {
        long lhsAuditClusterId = getAuditClusterId();
        long rhsAuditClusterId = rhs.getAuditClusterId();
        if (lhsAuditClusterId < rhsAuditClusterId) {
          return (-1);
        } else if (lhsAuditClusterId > rhsAuditClusterId) {
          return (1);
        }
      }
      {
        Calendar lhsAuditStamp = getAuditStamp();
        Calendar rhsAuditStamp = rhs.getAuditStamp();
        if (lhsAuditStamp == null) {
          if (rhsAuditStamp != null) {
            return (-1);
          }
        } else if (rhsAuditStamp == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditStamp.compareTo(rhsAuditStamp);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      {
        short lhsAuditActionId = getAuditActionId();
        short rhsAuditActionId = rhs.getAuditActionId();
        if (lhsAuditActionId < rhsAuditActionId) {
          return (-1);
        } else if (lhsAuditActionId > rhsAuditActionId) {
          return (1);
        }
      }
      {
        int lhsRequiredRevision = getRequiredRevision();
        int rhsRequiredRevision = rhs.getRequiredRevision();
        if (lhsRequiredRevision < rhsRequiredRevision) {
          return (-1);
        } else if (lhsRequiredRevision > rhsRequiredRevision) {
          return (1);
        }
      }
      {
        UUID lhsAuditSessionId = getAuditSessionId();
        UUID rhsAuditSessionId = rhs.getAuditSessionId();
        if (lhsAuditSessionId == null) {
          if (rhsAuditSessionId != null) {
            return (-1);
          }
        } else if (rhsAuditSessionId == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditSessionId.compareTo(rhsAuditSessionId);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      if (getRequiredTenantId() < rhs.getRequiredTenantId()) {
        return (-1);
      } else if (getRequiredTenantId() > rhs.getRequiredTenantId()) {
        return (1);
      }
      if (getRequiredAddressId() < rhs.getRequiredAddressId()) {
        return (-1);
      } else if (getRequiredAddressId() > rhs.getRequiredAddressId()) {
        return (1);
      }
      return (0);
    } else if (obj instanceof CFCrmAddressPKey) {
      CFCrmAddressPKey rhs = (CFCrmAddressPKey) obj;
      if (getRequiredTenantId() < rhs.getRequiredTenantId()) {
        return (-1);
      } else if (getRequiredTenantId() > rhs.getRequiredTenantId()) {
        return (1);
      }
      if (getRequiredAddressId() < rhs.getRequiredAddressId()) {
        return (-1);
      } else if (getRequiredAddressId() > rhs.getRequiredAddressId()) {
        return (1);
      }
      return (0);
    } else if (obj instanceof CFCrmHPKey) {
      CFCrmHPKey rhs = (CFCrmHPKey) obj;
      {
        int lhsRequiredRevision = getRequiredRevision();
        int rhsRequiredRevision = rhs.getRequiredRevision();
        if (lhsRequiredRevision < rhsRequiredRevision) {
          return (-1);
        } else if (lhsRequiredRevision > rhsRequiredRevision) {
          return (1);
        }
      }
      return (0);
    } else {
      return (super.compareTo(obj));
    }
  }
  public int compareTo(Object obj) {
    if (obj == null) {
      return (-1);
    } else if (obj instanceof CFBamPopSubDep3Buff) {
      CFBamPopSubDep3Buff rhs = (CFBamPopSubDep3Buff) obj;
      int retval = super.compareTo(rhs);
      if (retval != 0) {
        return (retval);
      }
      return (0);
    } else if (obj instanceof CFBamPopSubDep3ByContPopDep2IdxKey) {
      CFBamPopSubDep3ByContPopDep2IdxKey rhs = (CFBamPopSubDep3ByContPopDep2IdxKey) obj;

      if (getRequiredContTenantId() < rhs.getRequiredContTenantId()) {
        return (-1);
      } else if (getRequiredContTenantId() > rhs.getRequiredContTenantId()) {
        return (1);
      }
      if (getRequiredContPopDep2Id() < rhs.getRequiredContPopDep2Id()) {
        return (-1);
      } else if (getRequiredContPopDep2Id() > rhs.getRequiredContPopDep2Id()) {
        return (1);
      }
      return (0);
    } else if (obj instanceof CFBamPopSubDep3ByUNameIdxKey) {
      CFBamPopSubDep3ByUNameIdxKey rhs = (CFBamPopSubDep3ByUNameIdxKey) obj;

      if (getRequiredContTenantId() < rhs.getRequiredContTenantId()) {
        return (-1);
      } else if (getRequiredContTenantId() > rhs.getRequiredContTenantId()) {
        return (1);
      }
      if (getRequiredContPopDep2Id() < rhs.getRequiredContPopDep2Id()) {
        return (-1);
      } else if (getRequiredContPopDep2Id() > rhs.getRequiredContPopDep2Id()) {
        return (1);
      }
      {
        int cmp = getRequiredName().compareTo(rhs.getRequiredName());
        if (cmp != 0) {
          return (cmp);
        }
      }
      return (0);
    } else if (obj instanceof CFBamPopSubDep3HBuff) {
      CFBamPopSubDep3HBuff rhs = (CFBamPopSubDep3HBuff) obj;

      int retval = super.compareTo(rhs);
      if (retval != 0) {
        return (retval);
      }
      {
        long lhsAuditClusterId = getAuditClusterId();
        long rhsAuditClusterId = rhs.getAuditClusterId();
        if (lhsAuditClusterId < rhsAuditClusterId) {
          return (-1);
        } else if (lhsAuditClusterId > rhsAuditClusterId) {
          return (1);
        }
      }
      {
        Calendar lhsAuditStamp = getAuditStamp();
        Calendar rhsAuditStamp = rhs.getAuditStamp();
        if (lhsAuditStamp == null) {
          if (rhsAuditStamp != null) {
            return (-1);
          }
        } else if (rhsAuditStamp == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditStamp.compareTo(rhsAuditStamp);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      {
        short lhsAuditActionId = getAuditActionId();
        short rhsAuditActionId = rhs.getAuditActionId();
        if (lhsAuditActionId < rhsAuditActionId) {
          return (-1);
        } else if (lhsAuditActionId > rhsAuditActionId) {
          return (1);
        }
      }
      {
        int lhsRequiredRevision = getRequiredRevision();
        int rhsRequiredRevision = rhs.getRequiredRevision();
        if (lhsRequiredRevision < rhsRequiredRevision) {
          return (-1);
        } else if (lhsRequiredRevision > rhsRequiredRevision) {
          return (1);
        }
      }
      {
        UUID lhsAuditSessionId = getAuditSessionId();
        UUID rhsAuditSessionId = rhs.getAuditSessionId();
        if (lhsAuditSessionId == null) {
          if (rhsAuditSessionId != null) {
            return (-1);
          }
        } else if (rhsAuditSessionId == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditSessionId.compareTo(rhsAuditSessionId);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      if (getRequiredTenantId() < rhs.getRequiredTenantId()) {
        return (-1);
      } else if (getRequiredTenantId() > rhs.getRequiredTenantId()) {
        return (1);
      }
      if (getRequiredId() < rhs.getRequiredId()) {
        return (-1);
      } else if (getRequiredId() > rhs.getRequiredId()) {
        return (1);
      }
      if (getOptionalDefSchemaTenantId() != null) {
        Long lhsDefSchemaTenantId = getOptionalDefSchemaTenantId();
        if (rhs.getOptionalDefSchemaTenantId() != null) {
          Long rhsDefSchemaTenantId = rhs.getOptionalDefSchemaTenantId();
          int cmp = lhsDefSchemaTenantId.compareTo(rhsDefSchemaTenantId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalDefSchemaTenantId() != null) {
          return (-1);
        }
      }
      if (getOptionalDefSchemaId() != null) {
        Long lhsDefSchemaId = getOptionalDefSchemaId();
        if (rhs.getOptionalDefSchemaId() != null) {
          Long rhsDefSchemaId = rhs.getOptionalDefSchemaId();
          int cmp = lhsDefSchemaId.compareTo(rhsDefSchemaId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalDefSchemaId() != null) {
          return (-1);
        }
      }
      if (getRequiredRelationTenantId() < rhs.getRequiredRelationTenantId()) {
        return (-1);
      } else if (getRequiredRelationTenantId() > rhs.getRequiredRelationTenantId()) {
        return (1);
      }
      if (getRequiredRelationId() < rhs.getRequiredRelationId()) {
        return (-1);
      } else if (getRequiredRelationId() > rhs.getRequiredRelationId()) {
        return (1);
      }
      if (getRequiredContTenantId() < rhs.getRequiredContTenantId()) {
        return (-1);
      } else if (getRequiredContTenantId() > rhs.getRequiredContTenantId()) {
        return (1);
      }
      if (getRequiredContPopDep2Id() < rhs.getRequiredContPopDep2Id()) {
        return (-1);
      } else if (getRequiredContPopDep2Id() > rhs.getRequiredContPopDep2Id()) {
        return (1);
      }
      {
        int cmp = getRequiredName().compareTo(rhs.getRequiredName());
        if (cmp != 0) {
          return (cmp);
        }
      }
      return (0);
    } else {
      return (super.compareTo(obj));
    }
  }
  public int compareTo(Object obj) {
    if (obj == null) {
      return (-1);
    } else if (obj instanceof CFBamBoolTypeBuff) {
      CFBamBoolTypeBuff rhs = (CFBamBoolTypeBuff) obj;
      int retval = super.compareTo(rhs);
      if (retval != 0) {
        return (retval);
      }
      return (0);
    } else if (obj instanceof CFBamBoolTypeBySchemaIdxKey) {
      CFBamBoolTypeBySchemaIdxKey rhs = (CFBamBoolTypeBySchemaIdxKey) obj;

      if (getRequiredTenantId() < rhs.getRequiredTenantId()) {
        return (-1);
      } else if (getRequiredTenantId() > rhs.getRequiredTenantId()) {
        return (1);
      }
      if (getRequiredSchemaDefId() < rhs.getRequiredSchemaDefId()) {
        return (-1);
      } else if (getRequiredSchemaDefId() > rhs.getRequiredSchemaDefId()) {
        return (1);
      }
      return (0);
    } else if (obj instanceof CFBamBoolTypeHBuff) {
      CFBamBoolTypeHBuff rhs = (CFBamBoolTypeHBuff) obj;

      int retval = super.compareTo(rhs);
      if (retval != 0) {
        return (retval);
      }
      {
        long lhsAuditClusterId = getAuditClusterId();
        long rhsAuditClusterId = rhs.getAuditClusterId();
        if (lhsAuditClusterId < rhsAuditClusterId) {
          return (-1);
        } else if (lhsAuditClusterId > rhsAuditClusterId) {
          return (1);
        }
      }
      {
        Calendar lhsAuditStamp = getAuditStamp();
        Calendar rhsAuditStamp = rhs.getAuditStamp();
        if (lhsAuditStamp == null) {
          if (rhsAuditStamp != null) {
            return (-1);
          }
        } else if (rhsAuditStamp == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditStamp.compareTo(rhsAuditStamp);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      {
        short lhsAuditActionId = getAuditActionId();
        short rhsAuditActionId = rhs.getAuditActionId();
        if (lhsAuditActionId < rhsAuditActionId) {
          return (-1);
        } else if (lhsAuditActionId > rhsAuditActionId) {
          return (1);
        }
      }
      {
        int lhsRequiredRevision = getRequiredRevision();
        int rhsRequiredRevision = rhs.getRequiredRevision();
        if (lhsRequiredRevision < rhsRequiredRevision) {
          return (-1);
        } else if (lhsRequiredRevision > rhsRequiredRevision) {
          return (1);
        }
      }
      {
        UUID lhsAuditSessionId = getAuditSessionId();
        UUID rhsAuditSessionId = rhs.getAuditSessionId();
        if (lhsAuditSessionId == null) {
          if (rhsAuditSessionId != null) {
            return (-1);
          }
        } else if (rhsAuditSessionId == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditSessionId.compareTo(rhsAuditSessionId);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      if (getRequiredTenantId() < rhs.getRequiredTenantId()) {
        return (-1);
      } else if (getRequiredTenantId() > rhs.getRequiredTenantId()) {
        return (1);
      }
      if (getRequiredScopeId() < rhs.getRequiredScopeId()) {
        return (-1);
      } else if (getRequiredScopeId() > rhs.getRequiredScopeId()) {
        return (1);
      }
      if (getRequiredId() < rhs.getRequiredId()) {
        return (-1);
      } else if (getRequiredId() > rhs.getRequiredId()) {
        return (1);
      }
      if (getOptionalDefSchemaTenantId() != null) {
        Long lhsDefSchemaTenantId = getOptionalDefSchemaTenantId();
        if (rhs.getOptionalDefSchemaTenantId() != null) {
          Long rhsDefSchemaTenantId = rhs.getOptionalDefSchemaTenantId();
          int cmp = lhsDefSchemaTenantId.compareTo(rhsDefSchemaTenantId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalDefSchemaTenantId() != null) {
          return (-1);
        }
      }
      if (getOptionalDefSchemaId() != null) {
        Long lhsDefSchemaId = getOptionalDefSchemaId();
        if (rhs.getOptionalDefSchemaId() != null) {
          Long rhsDefSchemaId = rhs.getOptionalDefSchemaId();
          int cmp = lhsDefSchemaId.compareTo(rhsDefSchemaId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalDefSchemaId() != null) {
          return (-1);
        }
      }
      {
        int cmp = getRequiredName().compareTo(rhs.getRequiredName());
        if (cmp != 0) {
          return (cmp);
        }
      }
      if (getOptionalShortName() != null) {
        if (rhs.getOptionalShortName() != null) {
          int cmp = getOptionalShortName().compareTo(rhs.getOptionalShortName());
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalShortName() != null) {
          return (-1);
        }
      }
      if (getOptionalLabel() != null) {
        if (rhs.getOptionalLabel() != null) {
          int cmp = getOptionalLabel().compareTo(rhs.getOptionalLabel());
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalLabel() != null) {
          return (-1);
        }
      }
      if (getOptionalShortDescription() != null) {
        if (rhs.getOptionalShortDescription() != null) {
          int cmp = getOptionalShortDescription().compareTo(rhs.getOptionalShortDescription());
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalShortDescription() != null) {
          return (-1);
        }
      }
      if (getOptionalDescription() != null) {
        if (rhs.getOptionalDescription() != null) {
          int cmp = getOptionalDescription().compareTo(rhs.getOptionalDescription());
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalDescription() != null) {
          return (-1);
        }
      }
      if (getRequiredIsNullable()) {
        if (!rhs.getRequiredIsNullable()) {
          return (1);
        }
      } else {
        if (rhs.getRequiredIsNullable()) {
          return (-1);
        }
      }
      if (getOptionalGenerateId() != null) {
        Boolean lhsGenerateId = getOptionalGenerateId();
        if (rhs.getOptionalGenerateId()) {
          Boolean rhsGenerateId = rhs.getOptionalGenerateId();
          if (lhsGenerateId) {
            if (!rhsGenerateId) {
              return (1);
            }
          } else {
            if (rhsGenerateId) {
              return (-1);
            }
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalGenerateId() != null) {
          return (-1);
        }
      }
      if (getOptionalDataScopeId() != null) {
        Short lhsDataScopeId = getOptionalDataScopeId();
        if (rhs.getOptionalDataScopeId() != null) {
          Short rhsDataScopeId = rhs.getOptionalDataScopeId();
          int cmp = lhsDataScopeId.compareTo(rhsDataScopeId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalDataScopeId() != null) {
          return (-1);
        }
      }
      if (getOptionalViewAccessSecurityId() != null) {
        Short lhsViewAccessSecurityId = getOptionalViewAccessSecurityId();
        if (rhs.getOptionalViewAccessSecurityId() != null) {
          Short rhsViewAccessSecurityId = rhs.getOptionalViewAccessSecurityId();
          int cmp = lhsViewAccessSecurityId.compareTo(rhsViewAccessSecurityId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalViewAccessSecurityId() != null) {
          return (-1);
        }
      }
      if (getOptionalEditAccessSecurityId() != null) {
        Short lhsEditAccessSecurityId = getOptionalEditAccessSecurityId();
        if (rhs.getOptionalEditAccessSecurityId() != null) {
          Short rhsEditAccessSecurityId = rhs.getOptionalEditAccessSecurityId();
          int cmp = lhsEditAccessSecurityId.compareTo(rhsEditAccessSecurityId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalEditAccessSecurityId() != null) {
          return (-1);
        }
      }
      if (getOptionalViewAccessFrequencyId() != null) {
        Short lhsViewAccessFrequencyId = getOptionalViewAccessFrequencyId();
        if (rhs.getOptionalViewAccessFrequencyId() != null) {
          Short rhsViewAccessFrequencyId = rhs.getOptionalViewAccessFrequencyId();
          int cmp = lhsViewAccessFrequencyId.compareTo(rhsViewAccessFrequencyId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalViewAccessFrequencyId() != null) {
          return (-1);
        }
      }
      if (getOptionalEditAccessFrequencyId() != null) {
        Short lhsEditAccessFrequencyId = getOptionalEditAccessFrequencyId();
        if (rhs.getOptionalEditAccessFrequencyId() != null) {
          Short rhsEditAccessFrequencyId = rhs.getOptionalEditAccessFrequencyId();
          int cmp = lhsEditAccessFrequencyId.compareTo(rhsEditAccessFrequencyId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalEditAccessFrequencyId() != null) {
          return (-1);
        }
      }
      if (getOptionalPrevTenantId() != null) {
        Long lhsPrevTenantId = getOptionalPrevTenantId();
        if (rhs.getOptionalPrevTenantId() != null) {
          Long rhsPrevTenantId = rhs.getOptionalPrevTenantId();
          int cmp = lhsPrevTenantId.compareTo(rhsPrevTenantId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalPrevTenantId() != null) {
          return (-1);
        }
      }
      if (getOptionalPrevId() != null) {
        Long lhsPrevId = getOptionalPrevId();
        if (rhs.getOptionalPrevId() != null) {
          Long rhsPrevId = rhs.getOptionalPrevId();
          int cmp = lhsPrevId.compareTo(rhsPrevId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalPrevId() != null) {
          return (-1);
        }
      }
      if (getOptionalNextTenantId() != null) {
        Long lhsNextTenantId = getOptionalNextTenantId();
        if (rhs.getOptionalNextTenantId() != null) {
          Long rhsNextTenantId = rhs.getOptionalNextTenantId();
          int cmp = lhsNextTenantId.compareTo(rhsNextTenantId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalNextTenantId() != null) {
          return (-1);
        }
      }
      if (getOptionalNextId() != null) {
        Long lhsNextId = getOptionalNextId();
        if (rhs.getOptionalNextId() != null) {
          Long rhsNextId = rhs.getOptionalNextId();
          int cmp = lhsNextId.compareTo(rhsNextId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalNextId() != null) {
          return (-1);
        }
      }
      if (getRequiredDefaultVisibility()) {
        if (!rhs.getRequiredDefaultVisibility()) {
          return (1);
        }
      } else {
        if (rhs.getRequiredDefaultVisibility()) {
          return (-1);
        }
      }
      if (getOptionalDbName() != null) {
        if (rhs.getOptionalDbName() != null) {
          int cmp = getOptionalDbName().compareTo(rhs.getOptionalDbName());
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalDbName() != null) {
          return (-1);
        }
      }
      if (getOptionalInitValue() != null) {
        Boolean lhsInitValue = getOptionalInitValue();
        if (rhs.getOptionalInitValue()) {
          Boolean rhsInitValue = rhs.getOptionalInitValue();
          if (lhsInitValue) {
            if (!rhsInitValue) {
              return (1);
            }
          } else {
            if (rhsInitValue) {
              return (-1);
            }
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalInitValue() != null) {
          return (-1);
        }
      }
      if (getOptionalDefaultValue() != null) {
        Boolean lhsDefaultValue = getOptionalDefaultValue();
        if (rhs.getOptionalDefaultValue()) {
          Boolean rhsDefaultValue = rhs.getOptionalDefaultValue();
          if (lhsDefaultValue) {
            if (!rhsDefaultValue) {
              return (1);
            }
          } else {
            if (rhsDefaultValue) {
              return (-1);
            }
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalDefaultValue() != null) {
          return (-1);
        }
      }
      if (getOptionalFalseString() != null) {
        if (rhs.getOptionalFalseString() != null) {
          int cmp = getOptionalFalseString().compareTo(rhs.getOptionalFalseString());
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalFalseString() != null) {
          return (-1);
        }
      }
      if (getOptionalTrueString() != null) {
        if (rhs.getOptionalTrueString() != null) {
          int cmp = getOptionalTrueString().compareTo(rhs.getOptionalTrueString());
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalTrueString() != null) {
          return (-1);
        }
      }
      if (getOptionalNullString() != null) {
        if (rhs.getOptionalNullString() != null) {
          int cmp = getOptionalNullString().compareTo(rhs.getOptionalNullString());
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalNullString() != null) {
          return (-1);
        }
      }
      if (getRequiredSchemaDefId() < rhs.getRequiredSchemaDefId()) {
        return (-1);
      } else if (getRequiredSchemaDefId() > rhs.getRequiredSchemaDefId()) {
        return (1);
      }
      return (0);
    } else {
      return (super.compareTo(obj));
    }
  }
  public int compareTo(Object obj) {
    if (obj == null) {
      return (-1);
    } else if (obj instanceof CFDbTestInt64DefBuff) {
      CFDbTestInt64DefBuff rhs = (CFDbTestInt64DefBuff) obj;
      int retval = super.compareTo(rhs);
      if (retval != 0) {
        return (retval);
      }
      return (0);
    } else if (obj instanceof CFDbTestInt64DefHBuff) {
      CFDbTestInt64DefHBuff rhs = (CFDbTestInt64DefHBuff) obj;

      int retval = super.compareTo(rhs);
      if (retval != 0) {
        return (retval);
      }
      {
        long lhsAuditClusterId = getAuditClusterId();
        long rhsAuditClusterId = rhs.getAuditClusterId();
        if (lhsAuditClusterId < rhsAuditClusterId) {
          return (-1);
        } else if (lhsAuditClusterId > rhsAuditClusterId) {
          return (1);
        }
      }
      {
        Calendar lhsAuditStamp = getAuditStamp();
        Calendar rhsAuditStamp = rhs.getAuditStamp();
        if (lhsAuditStamp == null) {
          if (rhsAuditStamp != null) {
            return (-1);
          }
        } else if (rhsAuditStamp == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditStamp.compareTo(rhsAuditStamp);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      {
        short lhsAuditActionId = getAuditActionId();
        short rhsAuditActionId = rhs.getAuditActionId();
        if (lhsAuditActionId < rhsAuditActionId) {
          return (-1);
        } else if (lhsAuditActionId > rhsAuditActionId) {
          return (1);
        }
      }
      {
        int lhsRequiredRevision = getRequiredRevision();
        int rhsRequiredRevision = rhs.getRequiredRevision();
        if (lhsRequiredRevision < rhsRequiredRevision) {
          return (-1);
        } else if (lhsRequiredRevision > rhsRequiredRevision) {
          return (1);
        }
      }
      {
        UUID lhsAuditSessionId = getAuditSessionId();
        UUID rhsAuditSessionId = rhs.getAuditSessionId();
        if (lhsAuditSessionId == null) {
          if (rhsAuditSessionId != null) {
            return (-1);
          }
        } else if (rhsAuditSessionId == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditSessionId.compareTo(rhsAuditSessionId);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      if (getRequiredTenantId() < rhs.getRequiredTenantId()) {
        return (-1);
      } else if (getRequiredTenantId() > rhs.getRequiredTenantId()) {
        return (1);
      }
      if (getRequiredScopeId() < rhs.getRequiredScopeId()) {
        return (-1);
      } else if (getRequiredScopeId() > rhs.getRequiredScopeId()) {
        return (1);
      }
      if (getRequiredId() < rhs.getRequiredId()) {
        return (-1);
      } else if (getRequiredId() > rhs.getRequiredId()) {
        return (1);
      }
      {
        int cmp = getRequiredName().compareTo(rhs.getRequiredName());
        if (cmp != 0) {
          return (cmp);
        }
      }
      if (getRequiredDefaultVisibility()) {
        if (!rhs.getRequiredDefaultVisibility()) {
          return (1);
        }
      } else {
        if (rhs.getRequiredDefaultVisibility()) {
          return (-1);
        }
      }
      if (getOptionalPrevTenantId() != null) {
        Long lhsPrevTenantId = getOptionalPrevTenantId();
        if (rhs.getOptionalPrevTenantId() != null) {
          Long rhsPrevTenantId = rhs.getOptionalPrevTenantId();
          int cmp = lhsPrevTenantId.compareTo(rhsPrevTenantId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalPrevTenantId() != null) {
          return (-1);
        }
      }
      if (getOptionalPrevId() != null) {
        Long lhsPrevId = getOptionalPrevId();
        if (rhs.getOptionalPrevId() != null) {
          Long rhsPrevId = rhs.getOptionalPrevId();
          int cmp = lhsPrevId.compareTo(rhsPrevId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalPrevId() != null) {
          return (-1);
        }
      }
      if (getOptionalNextTenantId() != null) {
        Long lhsNextTenantId = getOptionalNextTenantId();
        if (rhs.getOptionalNextTenantId() != null) {
          Long rhsNextTenantId = rhs.getOptionalNextTenantId();
          int cmp = lhsNextTenantId.compareTo(rhsNextTenantId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalNextTenantId() != null) {
          return (-1);
        }
      }
      if (getOptionalNextId() != null) {
        Long lhsNextId = getOptionalNextId();
        if (rhs.getOptionalNextId() != null) {
          Long rhsNextId = rhs.getOptionalNextId();
          int cmp = lhsNextId.compareTo(rhsNextId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalNextId() != null) {
          return (-1);
        }
      }
      return (0);
    } else {
      return (super.compareTo(obj));
    }
  }
  public int compareTo(Object obj) {
    if (obj == null) {
      return (-1);
    } else if (obj instanceof CFBamBlobColBuff) {
      CFBamBlobColBuff rhs = (CFBamBlobColBuff) obj;
      int retval = super.compareTo(rhs);
      if (retval != 0) {
        return (retval);
      }
      return (0);
    } else if (obj instanceof CFBamBlobColByTableIdxKey) {
      CFBamBlobColByTableIdxKey rhs = (CFBamBlobColByTableIdxKey) obj;

      if (getRequiredTenantId() < rhs.getRequiredTenantId()) {
        return (-1);
      } else if (getRequiredTenantId() > rhs.getRequiredTenantId()) {
        return (1);
      }
      if (getRequiredTableId() < rhs.getRequiredTableId()) {
        return (-1);
      } else if (getRequiredTableId() > rhs.getRequiredTableId()) {
        return (1);
      }
      return (0);
    } else if (obj instanceof CFBamBlobColHBuff) {
      CFBamBlobColHBuff rhs = (CFBamBlobColHBuff) obj;

      int retval = super.compareTo(rhs);
      if (retval != 0) {
        return (retval);
      }
      {
        long lhsAuditClusterId = getAuditClusterId();
        long rhsAuditClusterId = rhs.getAuditClusterId();
        if (lhsAuditClusterId < rhsAuditClusterId) {
          return (-1);
        } else if (lhsAuditClusterId > rhsAuditClusterId) {
          return (1);
        }
      }
      {
        Calendar lhsAuditStamp = getAuditStamp();
        Calendar rhsAuditStamp = rhs.getAuditStamp();
        if (lhsAuditStamp == null) {
          if (rhsAuditStamp != null) {
            return (-1);
          }
        } else if (rhsAuditStamp == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditStamp.compareTo(rhsAuditStamp);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      {
        short lhsAuditActionId = getAuditActionId();
        short rhsAuditActionId = rhs.getAuditActionId();
        if (lhsAuditActionId < rhsAuditActionId) {
          return (-1);
        } else if (lhsAuditActionId > rhsAuditActionId) {
          return (1);
        }
      }
      {
        int lhsRequiredRevision = getRequiredRevision();
        int rhsRequiredRevision = rhs.getRequiredRevision();
        if (lhsRequiredRevision < rhsRequiredRevision) {
          return (-1);
        } else if (lhsRequiredRevision > rhsRequiredRevision) {
          return (1);
        }
      }
      {
        UUID lhsAuditSessionId = getAuditSessionId();
        UUID rhsAuditSessionId = rhs.getAuditSessionId();
        if (lhsAuditSessionId == null) {
          if (rhsAuditSessionId != null) {
            return (-1);
          }
        } else if (rhsAuditSessionId == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditSessionId.compareTo(rhsAuditSessionId);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      if (getRequiredTenantId() < rhs.getRequiredTenantId()) {
        return (-1);
      } else if (getRequiredTenantId() > rhs.getRequiredTenantId()) {
        return (1);
      }
      if (getRequiredScopeId() < rhs.getRequiredScopeId()) {
        return (-1);
      } else if (getRequiredScopeId() > rhs.getRequiredScopeId()) {
        return (1);
      }
      if (getRequiredId() < rhs.getRequiredId()) {
        return (-1);
      } else if (getRequiredId() > rhs.getRequiredId()) {
        return (1);
      }
      if (getOptionalDefSchemaTenantId() != null) {
        Long lhsDefSchemaTenantId = getOptionalDefSchemaTenantId();
        if (rhs.getOptionalDefSchemaTenantId() != null) {
          Long rhsDefSchemaTenantId = rhs.getOptionalDefSchemaTenantId();
          int cmp = lhsDefSchemaTenantId.compareTo(rhsDefSchemaTenantId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalDefSchemaTenantId() != null) {
          return (-1);
        }
      }
      if (getOptionalDefSchemaId() != null) {
        Long lhsDefSchemaId = getOptionalDefSchemaId();
        if (rhs.getOptionalDefSchemaId() != null) {
          Long rhsDefSchemaId = rhs.getOptionalDefSchemaId();
          int cmp = lhsDefSchemaId.compareTo(rhsDefSchemaId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalDefSchemaId() != null) {
          return (-1);
        }
      }
      {
        int cmp = getRequiredName().compareTo(rhs.getRequiredName());
        if (cmp != 0) {
          return (cmp);
        }
      }
      if (getOptionalShortName() != null) {
        if (rhs.getOptionalShortName() != null) {
          int cmp = getOptionalShortName().compareTo(rhs.getOptionalShortName());
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalShortName() != null) {
          return (-1);
        }
      }
      if (getOptionalLabel() != null) {
        if (rhs.getOptionalLabel() != null) {
          int cmp = getOptionalLabel().compareTo(rhs.getOptionalLabel());
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalLabel() != null) {
          return (-1);
        }
      }
      if (getOptionalShortDescription() != null) {
        if (rhs.getOptionalShortDescription() != null) {
          int cmp = getOptionalShortDescription().compareTo(rhs.getOptionalShortDescription());
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalShortDescription() != null) {
          return (-1);
        }
      }
      if (getOptionalDescription() != null) {
        if (rhs.getOptionalDescription() != null) {
          int cmp = getOptionalDescription().compareTo(rhs.getOptionalDescription());
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalDescription() != null) {
          return (-1);
        }
      }
      if (getRequiredIsNullable()) {
        if (!rhs.getRequiredIsNullable()) {
          return (1);
        }
      } else {
        if (rhs.getRequiredIsNullable()) {
          return (-1);
        }
      }
      if (getOptionalGenerateId() != null) {
        Boolean lhsGenerateId = getOptionalGenerateId();
        if (rhs.getOptionalGenerateId()) {
          Boolean rhsGenerateId = rhs.getOptionalGenerateId();
          if (lhsGenerateId) {
            if (!rhsGenerateId) {
              return (1);
            }
          } else {
            if (rhsGenerateId) {
              return (-1);
            }
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalGenerateId() != null) {
          return (-1);
        }
      }
      if (getOptionalDataScopeId() != null) {
        Short lhsDataScopeId = getOptionalDataScopeId();
        if (rhs.getOptionalDataScopeId() != null) {
          Short rhsDataScopeId = rhs.getOptionalDataScopeId();
          int cmp = lhsDataScopeId.compareTo(rhsDataScopeId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalDataScopeId() != null) {
          return (-1);
        }
      }
      if (getOptionalViewAccessSecurityId() != null) {
        Short lhsViewAccessSecurityId = getOptionalViewAccessSecurityId();
        if (rhs.getOptionalViewAccessSecurityId() != null) {
          Short rhsViewAccessSecurityId = rhs.getOptionalViewAccessSecurityId();
          int cmp = lhsViewAccessSecurityId.compareTo(rhsViewAccessSecurityId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalViewAccessSecurityId() != null) {
          return (-1);
        }
      }
      if (getOptionalEditAccessSecurityId() != null) {
        Short lhsEditAccessSecurityId = getOptionalEditAccessSecurityId();
        if (rhs.getOptionalEditAccessSecurityId() != null) {
          Short rhsEditAccessSecurityId = rhs.getOptionalEditAccessSecurityId();
          int cmp = lhsEditAccessSecurityId.compareTo(rhsEditAccessSecurityId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalEditAccessSecurityId() != null) {
          return (-1);
        }
      }
      if (getOptionalViewAccessFrequencyId() != null) {
        Short lhsViewAccessFrequencyId = getOptionalViewAccessFrequencyId();
        if (rhs.getOptionalViewAccessFrequencyId() != null) {
          Short rhsViewAccessFrequencyId = rhs.getOptionalViewAccessFrequencyId();
          int cmp = lhsViewAccessFrequencyId.compareTo(rhsViewAccessFrequencyId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalViewAccessFrequencyId() != null) {
          return (-1);
        }
      }
      if (getOptionalEditAccessFrequencyId() != null) {
        Short lhsEditAccessFrequencyId = getOptionalEditAccessFrequencyId();
        if (rhs.getOptionalEditAccessFrequencyId() != null) {
          Short rhsEditAccessFrequencyId = rhs.getOptionalEditAccessFrequencyId();
          int cmp = lhsEditAccessFrequencyId.compareTo(rhsEditAccessFrequencyId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalEditAccessFrequencyId() != null) {
          return (-1);
        }
      }
      if (getOptionalPrevTenantId() != null) {
        Long lhsPrevTenantId = getOptionalPrevTenantId();
        if (rhs.getOptionalPrevTenantId() != null) {
          Long rhsPrevTenantId = rhs.getOptionalPrevTenantId();
          int cmp = lhsPrevTenantId.compareTo(rhsPrevTenantId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalPrevTenantId() != null) {
          return (-1);
        }
      }
      if (getOptionalPrevId() != null) {
        Long lhsPrevId = getOptionalPrevId();
        if (rhs.getOptionalPrevId() != null) {
          Long rhsPrevId = rhs.getOptionalPrevId();
          int cmp = lhsPrevId.compareTo(rhsPrevId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalPrevId() != null) {
          return (-1);
        }
      }
      if (getOptionalNextTenantId() != null) {
        Long lhsNextTenantId = getOptionalNextTenantId();
        if (rhs.getOptionalNextTenantId() != null) {
          Long rhsNextTenantId = rhs.getOptionalNextTenantId();
          int cmp = lhsNextTenantId.compareTo(rhsNextTenantId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalNextTenantId() != null) {
          return (-1);
        }
      }
      if (getOptionalNextId() != null) {
        Long lhsNextId = getOptionalNextId();
        if (rhs.getOptionalNextId() != null) {
          Long rhsNextId = rhs.getOptionalNextId();
          int cmp = lhsNextId.compareTo(rhsNextId);
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalNextId() != null) {
          return (-1);
        }
      }
      if (getRequiredDefaultVisibility()) {
        if (!rhs.getRequiredDefaultVisibility()) {
          return (1);
        }
      } else {
        if (rhs.getRequiredDefaultVisibility()) {
          return (-1);
        }
      }
      if (getOptionalDbName() != null) {
        if (rhs.getOptionalDbName() != null) {
          int cmp = getOptionalDbName().compareTo(rhs.getOptionalDbName());
          if (cmp != 0) {
            return (cmp);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalDbName() != null) {
          return (-1);
        }
      }
      if (getRequiredMaxLen() < rhs.getRequiredMaxLen()) {
        return (-1);
      } else if (getRequiredMaxLen() > rhs.getRequiredMaxLen()) {
        return (1);
      }
      if (getOptionalInitValue() != null) {
        if (rhs.getOptionalInitValue() != null) {
          byte[] larr = getOptionalInitValue();
          byte[] rarr = rhs.getOptionalInitValue();
          int llen = larr.length;
          int rlen = rarr.length;
          int idx = 0;
          byte lval;
          byte rval;
          while ((idx < llen) && (idx < rlen)) {
            lval = larr[idx];
            rval = rarr[idx];
            if (lval < rval) {
              return (-1);
            } else if (lval > rval) {
              return (1);
            }
            idx++;
          }
          if (llen < rlen) {
            return (-1);
          } else if (llen > rlen) {
            return (1);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalInitValue() != null) {
          return (-1);
        }
      }
      if (getOptionalDefaultValue() != null) {
        if (rhs.getOptionalDefaultValue() != null) {
          byte[] larr = getOptionalDefaultValue();
          byte[] rarr = rhs.getOptionalDefaultValue();
          int llen = larr.length;
          int rlen = rarr.length;
          int idx = 0;
          byte lval;
          byte rval;
          while ((idx < llen) && (idx < rlen)) {
            lval = larr[idx];
            rval = rarr[idx];
            if (lval < rval) {
              return (-1);
            } else if (lval > rval) {
              return (1);
            }
            idx++;
          }
          if (llen < rlen) {
            return (-1);
          } else if (llen > rlen) {
            return (1);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalDefaultValue() != null) {
          return (-1);
        }
      }
      if (getOptionalNullValue() != null) {
        if (rhs.getOptionalNullValue() != null) {
          byte[] larr = getOptionalNullValue();
          byte[] rarr = rhs.getOptionalNullValue();
          int llen = larr.length;
          int rlen = rarr.length;
          int idx = 0;
          byte lval;
          byte rval;
          while ((idx < llen) && (idx < rlen)) {
            lval = larr[idx];
            rval = rarr[idx];
            if (lval < rval) {
              return (-1);
            } else if (lval > rval) {
              return (1);
            }
            idx++;
          }
          if (llen < rlen) {
            return (-1);
          } else if (llen > rlen) {
            return (1);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalNullValue() != null) {
          return (-1);
        }
      }
      if (getOptionalUnknownValue() != null) {
        if (rhs.getOptionalUnknownValue() != null) {
          byte[] larr = getOptionalUnknownValue();
          byte[] rarr = rhs.getOptionalUnknownValue();
          int llen = larr.length;
          int rlen = rarr.length;
          int idx = 0;
          byte lval;
          byte rval;
          while ((idx < llen) && (idx < rlen)) {
            lval = larr[idx];
            rval = rarr[idx];
            if (lval < rval) {
              return (-1);
            } else if (lval > rval) {
              return (1);
            }
            idx++;
          }
          if (llen < rlen) {
            return (-1);
          } else if (llen > rlen) {
            return (1);
          }
        } else {
          return (1);
        }
      } else {
        if (rhs.getOptionalUnknownValue() != null) {
          return (-1);
        }
      }
      if (getRequiredTableId() < rhs.getRequiredTableId()) {
        return (-1);
      } else if (getRequiredTableId() > rhs.getRequiredTableId()) {
        return (1);
      }
      return (0);
    } else {
      return (super.compareTo(obj));
    }
  }
  public int compareTo(Object obj) {
    if (obj == null) {
      return (-1);
    } else if (obj instanceof CFFreeSwitchFSSFDirectoryBuff) {
      CFFreeSwitchFSSFDirectoryBuff rhs = (CFFreeSwitchFSSFDirectoryBuff) obj;
      int retval = super.compareTo(rhs);
      if (retval != 0) {
        return (retval);
      }
      return (0);
    } else if (obj instanceof CFFreeSwitchFSSFDirectoryByTenantIdxKey) {
      CFFreeSwitchFSSFDirectoryByTenantIdxKey rhs = (CFFreeSwitchFSSFDirectoryByTenantIdxKey) obj;

      if (getRequiredTenantId() < rhs.getRequiredTenantId()) {
        return (-1);
      } else if (getRequiredTenantId() > rhs.getRequiredTenantId()) {
        return (1);
      }
      return (0);
    } else if (obj instanceof CFFreeSwitchFSSFDirectoryBySofiaIdxKey) {
      CFFreeSwitchFSSFDirectoryBySofiaIdxKey rhs = (CFFreeSwitchFSSFDirectoryBySofiaIdxKey) obj;

      if (getRequiredTenantId() < rhs.getRequiredTenantId()) {
        return (-1);
      } else if (getRequiredTenantId() > rhs.getRequiredTenantId()) {
        return (1);
      }
      if (getRequiredFSSofiaId() < rhs.getRequiredFSSofiaId()) {
        return (-1);
      } else if (getRequiredFSSofiaId() > rhs.getRequiredFSSofiaId()) {
        return (1);
      }
      return (0);
    } else if (obj instanceof CFFreeSwitchFSSFDirectoryByUNameIdxKey) {
      CFFreeSwitchFSSFDirectoryByUNameIdxKey rhs = (CFFreeSwitchFSSFDirectoryByUNameIdxKey) obj;

      if (getRequiredTenantId() < rhs.getRequiredTenantId()) {
        return (-1);
      } else if (getRequiredTenantId() > rhs.getRequiredTenantId()) {
        return (1);
      }
      if (getRequiredFSSofiaId() < rhs.getRequiredFSSofiaId()) {
        return (-1);
      } else if (getRequiredFSSofiaId() > rhs.getRequiredFSSofiaId()) {
        return (1);
      }
      {
        int cmp = getRequiredName().compareTo(rhs.getRequiredName());
        if (cmp != 0) {
          return (cmp);
        }
      }
      return (0);
    } else if (obj instanceof CFFreeSwitchFSSFDirectoryHBuff) {
      CFFreeSwitchFSSFDirectoryHBuff rhs = (CFFreeSwitchFSSFDirectoryHBuff) obj;

      int retval = 0;
      {
        long lhsAuditClusterId = getAuditClusterId();
        long rhsAuditClusterId = rhs.getAuditClusterId();
        if (lhsAuditClusterId < rhsAuditClusterId) {
          return (-1);
        } else if (lhsAuditClusterId > rhsAuditClusterId) {
          return (1);
        }
      }
      {
        Calendar lhsAuditStamp = getAuditStamp();
        Calendar rhsAuditStamp = rhs.getAuditStamp();
        if (lhsAuditStamp == null) {
          if (rhsAuditStamp != null) {
            return (-1);
          }
        } else if (rhsAuditStamp == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditStamp.compareTo(rhsAuditStamp);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      {
        short lhsAuditActionId = getAuditActionId();
        short rhsAuditActionId = rhs.getAuditActionId();
        if (lhsAuditActionId < rhsAuditActionId) {
          return (-1);
        } else if (lhsAuditActionId > rhsAuditActionId) {
          return (1);
        }
      }
      {
        int lhsRequiredRevision = getRequiredRevision();
        int rhsRequiredRevision = rhs.getRequiredRevision();
        if (lhsRequiredRevision < rhsRequiredRevision) {
          return (-1);
        } else if (lhsRequiredRevision > rhsRequiredRevision) {
          return (1);
        }
      }
      {
        UUID lhsAuditSessionId = getAuditSessionId();
        UUID rhsAuditSessionId = rhs.getAuditSessionId();
        if (lhsAuditSessionId == null) {
          if (rhsAuditSessionId != null) {
            return (-1);
          }
        } else if (rhsAuditSessionId == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditSessionId.compareTo(rhsAuditSessionId);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      {
        long lhsAuditClusterId = getAuditClusterId();
        long rhsAuditClusterId = rhs.getAuditClusterId();
        if (lhsAuditClusterId < rhsAuditClusterId) {
          return (-1);
        } else if (lhsAuditClusterId > rhsAuditClusterId) {
          return (1);
        }
      }
      {
        Calendar lhsAuditStamp = getAuditStamp();
        Calendar rhsAuditStamp = rhs.getAuditStamp();
        if (lhsAuditStamp == null) {
          if (rhsAuditStamp != null) {
            return (-1);
          }
        } else if (rhsAuditStamp == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditStamp.compareTo(rhsAuditStamp);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      {
        short lhsAuditActionId = getAuditActionId();
        short rhsAuditActionId = rhs.getAuditActionId();
        if (lhsAuditActionId < rhsAuditActionId) {
          return (-1);
        } else if (lhsAuditActionId > rhsAuditActionId) {
          return (1);
        }
      }
      {
        int lhsRequiredRevision = getRequiredRevision();
        int rhsRequiredRevision = rhs.getRequiredRevision();
        if (lhsRequiredRevision < rhsRequiredRevision) {
          return (-1);
        } else if (lhsRequiredRevision > rhsRequiredRevision) {
          return (1);
        }
      }
      {
        UUID lhsAuditSessionId = getAuditSessionId();
        UUID rhsAuditSessionId = rhs.getAuditSessionId();
        if (lhsAuditSessionId == null) {
          if (rhsAuditSessionId != null) {
            return (-1);
          }
        } else if (rhsAuditSessionId == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditSessionId.compareTo(rhsAuditSessionId);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      if (getRequiredTenantId() < rhs.getRequiredTenantId()) {
        return (-1);
      } else if (getRequiredTenantId() > rhs.getRequiredTenantId()) {
        return (1);
      }
      if (getRequiredFSSFDirectoryId() < rhs.getRequiredFSSFDirectoryId()) {
        return (-1);
      } else if (getRequiredFSSFDirectoryId() > rhs.getRequiredFSSFDirectoryId()) {
        return (1);
      }
      if (getRequiredFSSofiaId() < rhs.getRequiredFSSofiaId()) {
        return (-1);
      } else if (getRequiredFSSofiaId() > rhs.getRequiredFSSofiaId()) {
        return (1);
      }
      {
        int cmp = getRequiredName().compareTo(rhs.getRequiredName());
        if (cmp != 0) {
          return (cmp);
        }
      }
      {
        int cmp = getRequiredDialString().compareTo(rhs.getRequiredDialString());
        if (cmp != 0) {
          return (cmp);
        }
      }
      if (getRequiredRecordStereo()) {
        if (!rhs.getRequiredRecordStereo()) {
          return (1);
        }
      } else {
        if (rhs.getRequiredRecordStereo()) {
          return (-1);
        }
      }
      {
        int cmp = getRequiredDefaultGateway().compareTo(rhs.getRequiredDefaultGateway());
        if (cmp != 0) {
          return (cmp);
        }
      }
      {
        int cmp = getRequiredDefaultAreacode().compareTo(rhs.getRequiredDefaultAreacode());
        if (cmp != 0) {
          return (cmp);
        }
      }
      {
        int cmp =
            getRequiredTransferFallbackExtension()
                .compareTo(rhs.getRequiredTransferFallbackExtension());
        if (cmp != 0) {
          return (cmp);
        }
      }
      return (0);
    } else if (obj instanceof CFFreeSwitchFSSFDirectoryHPKey) {
      CFFreeSwitchFSSFDirectoryHPKey rhs = (CFFreeSwitchFSSFDirectoryHPKey) obj;
      {
        long lhsAuditClusterId = getAuditClusterId();
        long rhsAuditClusterId = rhs.getAuditClusterId();
        if (lhsAuditClusterId < rhsAuditClusterId) {
          return (-1);
        } else if (lhsAuditClusterId > rhsAuditClusterId) {
          return (1);
        }
      }
      {
        Calendar lhsAuditStamp = getAuditStamp();
        Calendar rhsAuditStamp = rhs.getAuditStamp();
        if (lhsAuditStamp == null) {
          if (rhsAuditStamp != null) {
            return (-1);
          }
        } else if (rhsAuditStamp == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditStamp.compareTo(rhsAuditStamp);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      {
        short lhsAuditActionId = getAuditActionId();
        short rhsAuditActionId = rhs.getAuditActionId();
        if (lhsAuditActionId < rhsAuditActionId) {
          return (-1);
        } else if (lhsAuditActionId > rhsAuditActionId) {
          return (1);
        }
      }
      {
        int lhsRequiredRevision = getRequiredRevision();
        int rhsRequiredRevision = rhs.getRequiredRevision();
        if (lhsRequiredRevision < rhsRequiredRevision) {
          return (-1);
        } else if (lhsRequiredRevision > rhsRequiredRevision) {
          return (1);
        }
      }
      {
        UUID lhsAuditSessionId = getAuditSessionId();
        UUID rhsAuditSessionId = rhs.getAuditSessionId();
        if (lhsAuditSessionId == null) {
          if (rhsAuditSessionId != null) {
            return (-1);
          }
        } else if (rhsAuditSessionId == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditSessionId.compareTo(rhsAuditSessionId);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      if (getRequiredTenantId() < rhs.getRequiredTenantId()) {
        return (-1);
      } else if (getRequiredTenantId() > rhs.getRequiredTenantId()) {
        return (1);
      }
      if (getRequiredFSSFDirectoryId() < rhs.getRequiredFSSFDirectoryId()) {
        return (-1);
      } else if (getRequiredFSSFDirectoryId() > rhs.getRequiredFSSFDirectoryId()) {
        return (1);
      }
      return (0);
    } else if (obj instanceof CFFreeSwitchFSSFDirectoryPKey) {
      CFFreeSwitchFSSFDirectoryPKey rhs = (CFFreeSwitchFSSFDirectoryPKey) obj;
      if (getRequiredTenantId() < rhs.getRequiredTenantId()) {
        return (-1);
      } else if (getRequiredTenantId() > rhs.getRequiredTenantId()) {
        return (1);
      }
      if (getRequiredFSSFDirectoryId() < rhs.getRequiredFSSFDirectoryId()) {
        return (-1);
      } else if (getRequiredFSSFDirectoryId() > rhs.getRequiredFSSFDirectoryId()) {
        return (1);
      }
      return (0);
    } else if (obj instanceof CFFreeSwitchHPKey) {
      CFFreeSwitchHPKey rhs = (CFFreeSwitchHPKey) obj;
      {
        int lhsRequiredRevision = getRequiredRevision();
        int rhsRequiredRevision = rhs.getRequiredRevision();
        if (lhsRequiredRevision < rhsRequiredRevision) {
          return (-1);
        } else if (lhsRequiredRevision > rhsRequiredRevision) {
          return (1);
        }
      }
      return (0);
    } else {
      return (super.compareTo(obj));
    }
  }