/**
   * Creates an associated valueObject and populates it with data from the ResultSet.
   *
   * @param ResultSet rs
   * @return IFrameworkValueObject
   */
  protected IFrameworkValueObject createValueObject(ResultSet rs) {
    IDictionaryKindValueObject valueObject = null;

    try {
      // use the ResultSet to get data related to this class

      valueObject = getDictionaryKindValueObject();

      if (valueObject == null) // create one
      {
        valueObject = new DictionaryKindValueObject();
      }

      // **********************************************************
      // Step #1
      // assign the DictionaryKind primary key using the provided ResultSet
      // **********************************************************
      // v 2.3 - in order to effectively handle inheritance, now assign the pk fields directly
      // to the valueobject as attribute(s)
      //            DictionaryKindPrimaryKey pk = new DictionaryKindPrimaryKey( assignSafeLong(
      // rs.getString( 1 ) ) );
      //            valueObject.setFrameworkPrimaryKey( pk );

      // **********************************************************
      // Step #2
      // assign the remaining attributes to the value object
      // **********************************************************
      // AIB Generated Section - Do Not Modify Within
      valueObject.setDictionaryKindID(rs.getString("dictionaryKindID"));
      valueObject.setKind(rs.getString("kind"));
      valueObject.setSuperKind(rs.getString("superKind"));
      valueObject.setDetail(rs.getString("detail"));
      valueObject.setSource(rs.getString("source"));
      valueObject.setMask(rs.getString("mask"));
      valueObject.setNote(rs.getString("note"));
      valueObject.setDictSize(rs.getString("dictSize"));
      valueObject.setFrequencyInUse(rs.getString("frequencyInUse"));
      valueObject.setLastUpdatedBy(rs.getString("lastUpdatedBy"));
      valueObject.setLastUpdatedTime(rs.getTimestamp("lastUpdatedTime"));
      valueObject.setRefreshTime(rs.getTimestamp("refreshTime"));
      valueObject.setDownloadFlag(rs.getString("downloadFlag"));
      valueObject.setReservation01(rs.getString("reservation01"));
      valueObject.setReservation02(rs.getString("reservation02"));

      // ~AIB Generated
      // apply the valueObject so it may be referred to by the base class
      // in its implementation of this method
      setDictionaryKindValueObject(valueObject);

      // if there is a base class, let it get its attributes from the Resultset
      super.createValueObject(rs);

    } catch (Exception exc) {
      printMessage("DictionaryKindDAO:createValueObject()-" + exc);
    }

    return (valueObject);
  }