docs: protected ExternalStylesheetDescriptor convert(IStylesheetDescriptor stylesheetDescriptor) {
          final ExternalStylesheetDescriptor externalStylesheetDescriptor =
                  new ExternalStylesheetDescriptor();
  
          externalStylesheetDescriptor.setName(stylesheetDescriptor.getName());
          externalStylesheetDescriptor.setUrlSyntaxHelper(
                  stylesheetDescriptor.getUrlNodeSyntaxHelperName());
          externalStylesheetDescriptor.setDescription(stylesheetDescriptor.getDescription());
          externalStylesheetDescriptor.setUri(stylesheetDescriptor.getStylesheetResource());
  
          final Collection<IOutputPropertyDescriptor> outputPropertyDescriptors =
                  stylesheetDescriptor.getOutputPropertyDescriptors();
          final List<ExternalOutputPropertyDescriptor> extOutputPropertyDescriptors =
                  externalStylesheetDescriptor.getOutputProperties();
          for (final IOutputPropertyDescriptor outputPropertyDescriptor : outputPropertyDescriptors) {
              final ExternalOutputPropertyDescriptor extOutputPropertyDescriptor =
                      new ExternalOutputPropertyDescriptor();
              copyProperties(outputPropertyDescriptor, extOutputPropertyDescriptor);
              extOutputPropertyDescriptors.add(extOutputPropertyDescriptor);
          }
          Collections.sort(
                  extOutputPropertyDescriptors, ExternalStylesheetDataNameComparator.INSTANCE);
  
          final Collection<IStylesheetParameterDescriptor> stylesheetParameterDescriptors =
                  stylesheetDescriptor.getStylesheetParameterDescriptors();
          final List<ExternalStylesheetParameterDescriptor> extStylesheetParameterDescriptors =
                  externalStylesheetDescriptor.getStylesheetParameters();
          for (final IStylesheetParameterDescriptor stylesheetParameterDescriptor :
                  stylesheetParameterDescriptors) {
              final ExternalStylesheetParameterDescriptor extStylesheetParameterDescriptor =
                      new ExternalStylesheetParameterDescriptor();
              copyProperties(stylesheetParameterDescriptor, extStylesheetParameterDescriptor);
              extStylesheetParameterDescriptors.add(extStylesheetParameterDescriptor);
          }
          Collections.sort(
                  extStylesheetParameterDescriptors, ExternalStylesheetDataNameComparator.INSTANCE);
  
          final Collection<ILayoutAttributeDescriptor> layoutAttributeDescriptors =
                  stylesheetDescriptor.getLayoutAttributeDescriptors();
          final List<ExternalLayoutAttributeDescriptor> extLayoutAttributeDescriptors =
                  externalStylesheetDescriptor.getLayoutAttributes();
          for (final ILayoutAttributeDescriptor layoutAttributeDescriptor :
                  layoutAttributeDescriptors) {
              final ExternalLayoutAttributeDescriptor extLayoutAttributeDescriptor =
                      new ExternalLayoutAttributeDescriptor();
              copyProperties(layoutAttributeDescriptor, extLayoutAttributeDescriptor);
              extLayoutAttributeDescriptor
                      .getTargetElements()
                      .addAll(layoutAttributeDescriptor.getTargetElementNames());
              extLayoutAttributeDescriptors.add(extLayoutAttributeDescriptor);
          }
          Collections.sort(
                  extLayoutAttributeDescriptors, ExternalStylesheetDataNameComparator.INSTANCE);
  
          return externalStylesheetDescriptor;
      }