public int readAnnotation() {
    checkType(ENCODED_ANNOTATION);
    type = MUST_READ;
    annotationType = Leb128.readUnsignedLeb128(in);
    return Leb128.readUnsignedLeb128(in);
  }
Begins reading the fields of an annotation, returning the number of fields. The caller must
follow up by making alternating calls to {@link #readAnnotationName()} and another read method.
For example, this reads an annotation whose fields are all bytes:

<pre>{@code
int fieldCount = readAnnotation();
int annotationType = getAnnotationType();
for (int i = 0; i < fieldCount; i++) {
    readAnnotationName();
    readByte();
}
}</pre>
android/android_framework/dex-maker/src/main/java/com/android/dex/EncodedValueReader.java