code: public final Map<String, Set<HierarchicalProperty>> getPropStats() throws RepositoryException
     {
        String statname = WebDavConst.getStatusDescription(HTTPStatus.OK);
        if (propNames == null)
        {
           propStats.put(statname, resource.getProperties(namesOnly));
        }
        else
        {
           if (propNames.contains(PropertyConstants.DAV_ALLPROP_INCLUDE))
           {
              propStats.put(statname, resource.getProperties(namesOnly));
              propNames.remove(PropertyConstants.DAV_ALLPROP_INCLUDE);
           }
           for (QName propName : propNames)
           {
              HierarchicalProperty prop = new HierarchicalProperty(propName);
              try
              {
                 if (propName.equals(PropertyConstants.IS_READ_ONLY) && session != null)
                 {
                    if (isReadOnly())
                    {
                       prop.setValue("1");
                    }
                    else
                    {
                       prop.setValue("0");
                    }
                    statname = WebDavConst.getStatusDescription(HTTPStatus.OK);
                 }
                 else
                 {
                    prop = resource.getProperty(propName);
                    statname = WebDavConst.getStatusDescription(HTTPStatus.OK);
                 }
  
              }
              catch (AccessDeniedException exc)
              {
                 statname = WebDavConst.getStatusDescription(HTTPStatus.FORBIDDEN);
                 LOG.error(exc.getMessage(), exc);
              }
              catch (ItemNotFoundException exc)
              {
                 statname = WebDavConst.getStatusDescription(HTTPStatus.NOT_FOUND);
  
              }
              catch (PathNotFoundException e)
              {
                 statname = WebDavConst.getStatusDescription(HTTPStatus.NOT_FOUND);
  
              }
              catch (RepositoryException e)
              {
                 statname = WebDavConst.getStatusDescription(HTTPStatus.INTERNAL_ERROR);
              }
  
              if (!propStats.containsKey(statname))
              {
                 propStats.put(statname, new HashSet<HierarchicalProperty>());
              }
  
              Set<HierarchicalProperty> propSet = propStats.get(statname);
              propSet.add(prop);
           }
        }
        return propStats;
     }
docs: Returns properties statuses.
  
  @return properties statuses
  @throws RepositoryException {@link RepositoryException}