core/src/main/java/com/moparisthebest/mirror/declaration/ConvertAnnotationValue.java
@Override
	@SuppressWarnings({"unchecked"})
	public Object getValue() {
		Debug.implemented("Object");
		Object ret = internal.getValue();
		if (ret instanceof VariableElement && ((VariableElement) ret).getKind() == ElementKind.ENUM_CONSTANT)
			ret = ConvertDeclaration.convert((VariableElement) ret);
		else if (ret instanceof javax.lang.model.element.AnnotationMirror)
			ret = ConvertAnnotationMirror.convert((javax.lang.model.element.AnnotationMirror) ret);
		else if (ret instanceof javax.lang.model.type.TypeMirror)
			ret = ConvertTypeMirror.convert((javax.lang.model.type.TypeMirror) ret);
		else if (ret instanceof List)
			ret = convert((List<? extends AnnotationValue>) ret);
		// else, we are hoping it's a String or wrapper for a primitive type, just return it
		if (Debug.debug)
			System.err.println("!!!!!!!!!!!!ret: " + ret);
		return ret;
	}
@Override
	@SuppressWarnings({"unchecked"})
	public Object getValue() {
		Debug.implemented("Object");
		Object ret = internal.getValue();
		if (ret instanceof VariableElement && ((VariableElement) ret).getKind() == ElementKind.ENUM_CONSTANT)
			ret = ConvertDeclaration.convert((VariableElement) ret);
		else if (ret instanceof javax.lang.model.element.AnnotationMirror)
			ret = ConvertAnnotationMirror.convert((javax.lang.model.element.AnnotationMirror) ret);
		else if (ret instanceof javax.lang.model.type.TypeMirror)
			ret = ConvertTypeMirror.convert((javax.lang.model.type.TypeMirror) ret);
		else if (ret instanceof List)
			ret = convert((List<? extends AnnotationValue>) ret);
		// else, we are hoping it's a String or wrapper for a primitive type, just return it
		if (Debug.debug)
			System.err.println("!!!!!!!!!!!!ret: " + ret);
		return ret;
	}
Returns the value.
The result has one of the following types:
<ul><li> a wrapper class (such as {@link Integer}) for a primitive type
<li> {@code String}
<li> {@code TypeMirror}
<li> {@code EnumConstantDeclaration}
<li> {@code AnnotationMirror}
<li> {@code Collection<AnnotationValue>}
(representing the elements, in order, if the value is an array)
<p/>
internal.getValue returns:
* <ul><li> a wrapper class (such as {@link Integer}) for a primitive type
<li> {@code String}
<li> {@code TypeMirror}
<li> {@code VariableElement} (representing an enum constant)
<li> {@code AnnotationMirror}
<li> {@code List<? extends AnnotationValue>}
(representing the elements, in declared order, if the value is an array)
</ul>

@return the value