code: public TransformerJob getOrCreateTransformerJob(final boolean validate, final TransformerComponentBuilder<?> tjb) {
          TransformerJob componentJob = (TransformerJob) _componentJobs.get(tjb);
          if (componentJob == null) {
              try {
                  componentJob = tjb.toTransformerJob(validate, this);
                  _componentJobs.put(tjb, componentJob);
              } catch (final IllegalStateException e) {
                  throw new IllegalStateException(
                          "Could not create transformer job from builder: " + tjb + ", (" + e.getMessage() + ")", e);
              }
          }
          return componentJob;
      }
docs: Gets or creates a {@link TransformerJob} for a particular
  {@link TransformerComponentBuilder}. Since {@link MultiStreamComponent}s
  are subtypes of {@link Transformer} it is necesary to have this caching
  mechanism in place in order to allow diamond-shaped component graphs
  where multiple streams include the same component.
  
  @param validate
  @param tjb
  @return