code: public Object value() {
          ValueVisitor vv = new ValueVisitor();
          attr.accept(vv);
          return vv.value;
      }
docs: Returns the value.
  The type of the returned object is one of the following:
  <ul><li> a wrapper class for a primitive type
  <li> <code>String</code>
  <li> <code>Type</code> (representing a class literal)
  <li> <code>FieldDoc</code> (representing an enum constant)
  <li> <code>AnnotationDesc</code>
  <li> <code>AnnotationValue[]</code>
  </ul>