code: public static synchronized void addExtractor(
          String name, DependencyExtractor extractor, boolean isDefault) {
                 
          if (extractor == null)
              throw new NullPointerException("Extractor cannot be null" + name);
          if (name == null)
              throw new NullPointerException("Extractor cannot have null name");
          nameToExtractor.put(name, extractor);
          if (isDefault)
              defaultExtractor = extractor;
      }
docs: Adds the provided {@link DependencyExtractor} to the set of available
  extractors, optionally setting the extractor as the default.  If an
  existing extractor has the same name, the existing extactor is
  overwritten.
  
  @param name the name of the parser that generated the parse trees.
  @param extractor the extractor instance
  @param isDefault {@code true} if this extractor should be the default
  returned by this class
  
  @throws NullPointerException if either {@code name} or {@code extractor}
  are {@code null}.