code: public List<CmsResource> readResourcesWithProperty(
          CmsRequestContext context,
          CmsResource folder,
          String propertyDefinition,
          String value,
          CmsResourceFilter filter)
      throws CmsException {
  
          CmsDbContext dbc = m_dbContextFactory.getDbContext(context);
          List<CmsResource> result = null;
          try {
              result = m_driverManager.readResourcesWithProperty(dbc, folder, propertyDefinition, value, filter);
          } catch (Exception e) {
              dbc.report(
                  null,
                  Messages.get().container(
                      Messages.ERR_READ_RESOURCES_FOR_PROP_VALUE_3,
                      context.removeSiteRoot(folder.getRootPath()),
                      propertyDefinition,
                      value),
                  e);
          } finally {
              dbc.clear();
          }
          return result;
      }
docs: Reads all resources that have a value (containing the specified value) set
  for the specified property (definition) in the given path.<p>
  
  If the <code>value</code> parameter is <code>null</code>, all resources having the
  given property set are returned.<p>
  
  Both individual and shared properties of a resource are checked.<p>
  
  @param context the current request context
  @param folder the folder to get the resources with the property from
  @param propertyDefinition the name of the property (definition) to check for
  @param value the string to search in the value of the property
  @param filter the resource filter to apply to the result set
  
  @return a list of all <code>{@link CmsResource}</code> objects
  that have a value set for the specified property.
  
  @throws CmsException if something goes wrong