code: protected final ProcessorDef[] getDefaultProviders(final ProcessorDef baseDef) {
      ProcessorDef extendsDef = getExtends();
      final Vector chain = new Vector();
      while (extendsDef != null && !chain.contains(extendsDef)) {
        chain.addElement(extendsDef);
        extendsDef = extendsDef.getExtends();
      }
      if (baseDef != null && getInherit()) {
        chain.addElement(baseDef);
      }
      final ProcessorDef[] defaultProviders = new ProcessorDef[chain.size()];
      chain.copyInto(defaultProviders);
      return defaultProviders;
    }
docs: Creates an chain of objects which provide default values in descending
  order of significance.
  
  @param baseDef
  corresponding ProcessorDef from CCTask, will be last element
  in array unless inherit = false
  @return default provider array