private @NotNull String borderFactoryClassName(LwContainer container, StringDescriptor borderTitle, GlobalSearchScope scope) {
    StringDescriptor titledBorderFactoryDescriptor =
      (StringDescriptor)container.getDelegeeClientProperties().get(AsmCodeGenerator.ourBorderFactoryClientProperty);

    boolean useIdeBorderFactory =
      borderTitle != null && Boolean.valueOf(System.getProperty("idea.is.internal")).booleanValue();

    if (titledBorderFactoryDescriptor == null && useIdeBorderFactory) {
      titledBorderFactoryDescriptor  = findIdeBorderFactoryClass(scope);
      container.getDelegeeClientProperties().put(AsmCodeGenerator.ourBorderFactoryClientProperty, titledBorderFactoryDescriptor);
    }
    boolean isCustomFactory = titledBorderFactoryDescriptor != null && !titledBorderFactoryDescriptor.getValue().isEmpty();

    return isCustomFactory ?
           titledBorderFactoryDescriptor.getValue().replace('$', '.') :
           BorderFactory.class.getName();
  }
private @NotNull String borderFactoryClassName(LwContainer container, StringDescriptor borderTitle, GlobalSearchScope scope)