docs: private EJBInterceptorBinding
                      validateAndMergeStyle2Bindings(EJBInterceptorBinding binding1, EJBInterceptorBinding binding2)
                                      throws EJBConfigurationException
      {
          // Add binding 2 interceptor-class list, unless it is empty.
          ArrayList<String> interceptorNames = binding1.ivInterceptorClassNames;
          if (!binding2.ivInterceptorClassNames.isEmpty())
          {
              interceptorNames.addAll(binding2.ivInterceptorClassNames);
          }
  
          // Add binding 2 interceptor-order list, unless it is empty.
          ArrayList<String> interceptorOrder = binding1.ivInterceptorOrder;
          if (!binding2.ivInterceptorOrder.isEmpty())
          {
              interceptorOrder.addAll(binding2.ivInterceptorOrder);
          }
  
          // CTS expects the exclude-default-interceptors setting in prior style 2
          // interceptor-binding to be overridden by current interceptor-binding setting.
          Boolean excludeDefault = binding1.ivExcludeDefaultLevelInterceptors;
          if (binding2.ivExcludeDefaultLevelInterceptors != null)
          {
              excludeDefault = binding2.ivExcludeDefaultLevelInterceptors;
          }
  
          // Bindings are valid, so merge into a single binding.
          EJBInterceptorBinding mergedBinding;
          mergedBinding = new EJBInterceptorBinding(binding1.ivEjbName, interceptorNames, interceptorOrder);
  
          // Set whether or not default or class level interceptors are excluded.
          if (excludeDefault != null)
          {
              mergedBinding.setExcludeDefaultInterceptors(excludeDefault);
          }
  
          // Return merged binding.
          return mergedBinding;
      }