code: @Override
  	public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
  		model = new M2MModel();
  
  		for (Element daoItem : roundEnv.getElementsAnnotatedWith(BindDaoMany2Many.class)) {
  			if (daoItem.getKind() != ElementKind.INTERFACE) {
  				String msg = String.format("%s %s, only interface can be annotated with @%s annotation",
  						daoItem.getKind(), daoItem, BindDaoMany2Many.class.getSimpleName());
  				throw (new InvalidKindForAnnotationException(msg));
  			}
  
  			M2MEntity entity = M2MEntity.extractEntityManagedByDAO((TypeElement) daoItem);
  
  			model.entityAdd(entity);
  		}
  
  		result = BindM2MBuilder.generate(filer, model);
  
  		return true;
  	}
docs: /*
  (non-Javadoc)
  
  @see javax.annotation.processing.AbstractProcessor#process(java.util.Set,
  javax.annotation.processing.RoundEnvironment)