code: private <A extends Annotation, AS extends Annotation> InjectionProcessor<A, AS> getProcessor(int processorIndex,
                                                                                                   InjectionProcessorProvider<A, AS> provider)
                      throws InjectionException
      {
          if (ivProcessors == null)
          {
              ivProcessors = new InjectionProcessor<?, ?>[ivProviders.size()];
          }
  
          if (ivProcessors[processorIndex] == null)
          {
              ivProcessors[processorIndex] = ivProviders.get(processorIndex).createInjectionProcessor();
              ivContext.initProcessor(ivProcessors[processorIndex], ivNameSpaceConfig);
          }
  
          @SuppressWarnings({ "unchecked", "rawtypes" })
          InjectionProcessor<A, AS> processor = (InjectionProcessor) ivProcessors[processorIndex];
          return processor;
      }
docs: Get or create a processor.
  
  @param processorIndex the index in {@link #ivProcessors}
  @param provider the corresponding provider
  @return the processor
  @throws InjectionException if instance creation or initialization fails