public void loadCustomizedContent() {
    List<String> templateWithDefaultExtension = new ArrayList<>();
    Set<String> processedNames = new HashSet<>();
    List<FileTemplateBase> children = new ArrayList<>();
    FileTypeManager fileTypeManager = FileTypeManager.getInstance();
    if (!processLocal((fileName, stream, aBoolean) -> {
      // check it here and not in filter to reuse fileName
      if (fileTypeManager.isFileIgnored(fileName)) {
        return true;
      }

      if (fileName.endsWith(TEMPLATE_EXTENSION_SUFFIX)) {
        templateWithDefaultExtension.add(fileName);
      }
      else {
        processedNames.add(fileName);
        FileTemplateBase template = addTemplateFromFile(fileName, stream);
        if (template != null && fileName.contains(FileTemplateBase.TEMPLATE_CHILDREN_SUFFIX)) {
          children.add(template);
        }
      }
      return true;
    })) {
      return;
    }

    for (FileTemplateBase child : children) {
      String qname = getParentName(child);
      FileTemplateBase parent = getTemplate(qname);
      if (parent != null) {
        parent.addChild(child);
      }
    }

    for (String fileName : templateWithDefaultExtension) {
      // cut default template extension
      String name = StringUtil.trimEnd(fileName, TEMPLATE_EXTENSION_SUFFIX);
      if (!processedNames.contains(name)) {
        addTemplateFromFile(name, null);
      }
      deleteFile(fileName);
    }
  }
public void loadCustomizedContent()