code: public CmsResource createResource(String resourcename, int type, byte[] content, List<CmsProperty> properties)
      throws CmsException, CmsIllegalArgumentException {
  
          CmsResource res = null;
  
          // iterate through all wrappers and call "createResource" till one does not return null
          List<I_CmsResourceWrapper> wrappers = getWrappers();
          Iterator<I_CmsResourceWrapper> iter = wrappers.iterator();
          while (iter.hasNext()) {
              I_CmsResourceWrapper wrapper = iter.next();
              res = wrapper.createResource(m_cms, resourcename, type, content, properties);
              if (res != null) {
                  break;
              }
          }
  
          // delegate the call to the CmsObject
          if (res == null) {
              res = m_cms.createResource(resourcename, type, content, properties);
          }
  
          return res;
      }
docs: Creates a new resource of the given resource type with the provided content and properties.<p>
  
  Iterates through all configured resource wrappers till the first returns not <code>null</code>.<p>
  
  @see I_CmsResourceWrapper#createResource(CmsObject, String, int, byte[], List)
  @see CmsObject#createResource(String, int, byte[], List)
  
  @param resourcename the name of the resource to create (full path)
  @param type the type of the resource to create
  @param content the contents for the new resource
  @param properties the properties for the new resource
  
  @return the created resource
  
  @throws CmsException if something goes wrong
  @throws CmsIllegalArgumentException if the <code>resourcename</code> argument is null or of length 0