@@ -0,0 +1,690 @@
+package org.realityforge.arez.processor;%0A%0Aimport javax.annotation.Nonnull;%0Aimport javax.annotation.processing.Messager;%0Aimport javax.lang.model.element.Element;%0Aimport javax.tools.Diagnostic;%0A%0Aclass ArezProcessorException%0A  extends Exception%0A%7B%0A  private final Element _element;%0A%0A  ArezProcessorException( @Nonnull final String message, @Nonnull final Element element )%0A  %7B%0A    super( message );%0A    _element = element;%0A  %7D%0A%0A  void print( @Nonnull final Messager messager )%0A  %7B%0A    if ( null != _element )%0A    %7B%0A      messager.printMessage( Diagnostic.Kind.ERROR, getMessage(), _element );%0A    %7D%0A    else%0A    %7B%0A      messager.printMessage( Diagnostic.Kind.ERROR, getMessage() );%0A    %7D%0A  %7D%0A%7D%0A

Add exception that can be thrown during generation process