code: private List<ValueDataWrapper> readValues(String cid, int cptype, String identifier, int cversion)
        throws IOException, SQLException, ValueStorageNotFoundException
     {
        List<ValueDataWrapper> data = new ArrayList<ValueDataWrapper>();
  
        final ResultSet valueRecords = findValuesByPropertyId(cid);
        try
        {
           while (valueRecords.next())
           {
              final int orderNum = valueRecords.getInt(COLUMN_VORDERNUM);
              final String storageId = valueRecords.getString(COLUMN_VSTORAGE_DESC);
  
              ValueDataWrapper vdWrapper =
                 valueRecords.wasNull() ? ValueDataUtil.readValueData(cid, cptype, orderNum, cversion,
                    valueRecords.getBinaryStream(COLUMN_VDATA), containerConfig.spoolConfig) : readValueData(identifier,
                    orderNum, cptype, storageId);
  
              data.add(vdWrapper);
           }
        }
        finally
        {
           try
           {
              valueRecords.close();
           }
           catch (SQLException e)
           {
              LOG.error("Can't close the ResultSet: " + e.getMessage());
           }
        }
  
        return data;
     }
docs: Read Property Values.
  
  @param identifier
  property identifier
  @param cid
  Property id
  @param pdata
  PropertyData
  @return list of ValueData
  @throws IOException
  i/O error
  @throws SQLException
  if database errro occurs
  @throws ValueStorageNotFoundException
  if no such storage found with Value storageId