// Path: source/transpiler/com/stormmq/java2c/transpiler/conversion/elementConverters/ConversionException.java
// public final class ConversionException extends Exception
// {
// 	public ConversionException(@NotNull final String message)
// 	{
// 		super(message);
// 	}
// 
// 	public ConversionException(@NotNull final String message, @NotNull final Exception cause)
// 	{
// 		super(message, cause);
// 	}
// }


import com.stormmq.java2c.transpiler.conversion.elementConverters.ConversionException;
import org.jetbrains.annotations.NotNull;
import javax.lang.model.element.Element;
import javax.lang.model.element.TypeElement;
import javax.lang.model.element.VariableElement;
import java.lang.annotation.Annotation;
import static java.lang.String.format;
import static java.util.Locale.ENGLISH;
package com.stormmq.java2c.transpiler.conversion.elementConverters.fieldAttributesProcessors;




public abstract class AbstractFieldAttributesProcessor implements FieldAttributesProcessor
{
	protected AbstractFieldAttributesProcessor()
	{
	}

	protected static <A extends Annotation> boolean hasAnnotation(@NotNull final Element element, @NotNull final Class<A> annotation)
	{
		return element.getAnnotation(annotation) != null;
	}

	@NotNull
// Path: source/transpiler/com/stormmq/java2c/transpiler/conversion/elementConverters/ConversionException.java
// public final class ConversionException extends Exception
// {
// 	public ConversionException(@NotNull final String message)
// 	{
// 		super(message);
// 	}
// 
// 	public ConversionException(@NotNull final String message, @NotNull final Exception cause)
// 	{
// 		super(message, cause);
// 	}
// }


// Path: source/transpiler/com/stormmq/java2c/transpiler/conversion/elementConverters/fieldAttributesProcessors/AbstractFieldAttributesProcessor.java
import com.stormmq.java2c.transpiler.conversion.elementConverters.ConversionException;
import org.jetbrains.annotations.NotNull;
import javax.lang.model.element.Element;
import javax.lang.model.element.TypeElement;
import javax.lang.model.element.VariableElement;
import java.lang.annotation.Annotation;
import static java.lang.String.format;
import static java.util.Locale.ENGLISH;

package com.stormmq.java2c.transpiler.conversion.elementConverters.fieldAttributesProcessors;




public abstract class AbstractFieldAttributesProcessor implements FieldAttributesProcessor
{
	protected AbstractFieldAttributesProcessor()
	{
	}

	protected static <A extends Annotation> boolean hasAnnotation(@NotNull final Element element, @NotNull final Class<A> annotation)
	{
		return element.getAnnotation(annotation) != null;
	}

	@NotNull
	protected final ConversionException newConversionException(@NotNull final VariableElement field, @NotNull final String message)