code: private CmsResource getResource(CmsObject cms, String resourcename, CmsResourceFilter filter) throws CmsException {
  
          // the path without trailing slash
          String path = CmsResource.getParentFolder(resourcename);
          if (path == null) {
              return null;
          }
  
          // the parent path
          String parent = CmsResource.getParentFolder(path);
  
          // the name of the resource
          String name = CmsResource.getName(resourcename);
          if (name.endsWith("/")) {
              name = name.substring(0, name.length() - 1);
          }
  
          // read the resource for the property dir
          if (name.equals(PROPERTY_DIR)) {
  
              return cms.readResource(path, filter);
          }
  
          if ((path.endsWith(PROPERTY_DIR + "/")) && (name.endsWith(CmsResourceWrapperUtils.EXTENSION_PROPERTIES))) {
              CmsResource res = null;
  
              if (name.startsWith(FOLDER_PREFIX)) {
                  name = name.substring(2);
              }
  
              try {
                  String resPath = CmsResourceWrapperUtils.removeFileExtension(
                      cms,
                      parent + name,
                      CmsResourceWrapperUtils.EXTENSION_PROPERTIES);
  
                  res = cms.readResource(resPath, filter);
              } catch (CmsException ex) {
                  // noop
              }
  
              return res;
          }
  
          return null;
      }
docs: Reads the resource for the property file.<p>
  
  @param cms the initialized CmsObject
  @param resourcename the name of the property resource
  @param filter the filter to use
  
  @return the resource for the property file or null if not found
  
  @throws CmsException if something goes wrong