@Override
    public LwRootContainer loadForm(String formFilePath) throws Exception {
      if (myFormCache.containsKey(formFilePath)) {
        return myFormCache.get(formFilePath);
      }

      String lowerFormFilePath = formFilePath.toLowerCase(Locale.ENGLISH);
      log("Searching for form " + lowerFormFilePath, Project.MSG_VERBOSE);
      for (File file : myFormFiles) {
        String name = file.getAbsolutePath().replace(File.separatorChar, '/').toLowerCase(Locale.ENGLISH);
        log("Comparing with " + name, Project.MSG_VERBOSE);
        if (name.endsWith(lowerFormFilePath)) {
          return loadForm(formFilePath, new FileInputStream(file));
        }
      }

      if (myNestedFormPathList != null) {
        for (PrefixedPath path : myNestedFormPathList) {
          File formFile = path.findFile(formFilePath);
          if (formFile != null) {
            return loadForm(formFilePath, new FileInputStream(formFile));
          }
        }
      }
      InputStream resourceStream = myLoader.getResourceAsStream(formFilePath);
      if (resourceStream != null) {
        return loadForm(formFilePath, resourceStream);
      }
      throw new Exception("Cannot find nested form file " + formFilePath);
    }
@Override
    public LwRootContainer loadForm(String formFilePath)