public void registerSourceHandler(String source, FeatureProcessor processor) {
    if (!caresAboutLayer(processor)) {
      return;
    }
    sourceElementProcessors
      .add(MultiExpression.entry(processor, Expression.and(Expression.matchSource(source), processor.filter())));
    synchronized (sourceElementProcessors) {
      indexedSourceElementProcessors = null;
    }
  }
Call {@code processor} for every element in {@code source}.

@param source    string ID of the source
@param processor handler that will process elements in that source
planetiler-core/src/main/java/com/onthegomap/planetiler/ForwardingProfile.java