code: public void generate()
      {
          try
          {
              HashSet alreadyProcessed = new HashSet();
  
              for ( int i = 0; i < _atds.length; i++ )
              {
                  AnnotationTypeDeclaration atd = _atds[i];
                  Declaration[] decls = getAnnotationProcessorEnvironment().getDeclarationsAnnotatedWith( atd );
  
                  for ( int j = 0; j < decls.length; j++ )
                  {
                      Declaration decl = decls[j];
                      if ( ! alreadyProcessed.contains( decl ) ) generate( decl );
                      alreadyProcessed.add( decl );
                  }
              }
          }
          catch ( FatalCompileTimeException e )
          {
              e.printDiagnostic( this );
          }
      }
docs: Emits additional artifacts for input Declarations that are annotated with
  annotations claimed by this CoreAnnotationProcessor.