code: @Override
      public ItemProcessor getProcessor(Item item) throws XmlException {
          String processorElementValue = item.queryDescriptorValue(processorElementXPathQuery);
          if (StringUtils.isNotEmpty(processorElementValue)) {
              ItemProcessor processor = elementValueToProcessorMappings.get(processorElementValue);
              if (processor != null) {
                  return processor;
              } else {
                  throw new XmlException("Element value \"" + processorElementValue + "\" doesn't refer to a " +
                                         "registered processor");
              }
          } else {
              return null;
          }
      }
docs: Looks for the processor element (by querying it with the {@code processorElementXPathQuery}) in the item's
  descriptor. If the element is found, the element value is mapped to a processor and that processor is
  returned.
  
  @throws XmlException if the element value doesn't refer to an existing processor