class ScannerFactory {

   public List<DrbCortexItemClass> getScannerSupport ()
   {
      if (itemClasses == null)
      {
         itemClasses = getDefaultCortexSupport ();
         if ((itemClasses!=null) && LOGGER.isDebugEnabled())
         {
            LOGGER.debug("Supported classes:");
            for (String cl:itemClasses)
            {
               LOGGER.debug(" - " + cl);
            }
         }
      }

      if (itemClasses == null)
         throw new UnsupportedOperationException (
            "Empty item list: no scanner support.");

      List<DrbCortexItemClass> supported = new ArrayList<DrbCortexItemClass> ();
      if (itemClasses != null)
      {
         for (String s : itemClasses)
         {
            try
            {
               supported.add (DrbCortexItemClass.getCortexItemClassByName (s));
            }
            catch (Exception e)
            {
               LOGGER.error ("Cannot add support for class " + s);
            }
         }
      }
      return supported;
   }

}