code: public boolean existsResource(String resourcename) {
  
          // first try to find the resource
          boolean ret = m_cms.existsResource(resourcename);
  
          // if not exists, ask the resource type wrappers
          if (!ret) {
  
              List<I_CmsResourceWrapper> wrappers = getWrappers();
              Iterator<I_CmsResourceWrapper> iter = wrappers.iterator();
              while (iter.hasNext()) {
                  I_CmsResourceWrapper wrapper = iter.next();
                  try {
                      CmsResource res = wrapper.readResource(m_cms, resourcename, CmsResourceFilter.DEFAULT);
                      if (res != null) {
                          ret = true;
                          break;
                      }
                  } catch (CmsException ex) {
                      // noop
                  }
              }
  
          }
  
          return ret;
      }
docs: Checks the availability of a resource in the VFS,
  using the {@link CmsResourceFilter#DEFAULT} filter.<p>
  
  Here it will be first checked if the resource exists in the VFS by calling
  {@link org.opencms.file.CmsObject#existsResource(String)}. Only if it doesn't exist
  in the VFS the method {@link I_CmsResourceWrapper#readResource(CmsObject, String, CmsResourceFilter)}
  in the configured resource wrappers are called till the first does not throw an exception or returns
  <code>null</code>.<p>
  
  @param resourcename the name of the resource to check (full path)
  
  @return <code>true</code> if the resource is available