question: public static Pair < Type , List < ArrayBracketPair > > unwrapArrayTypes ( Type type ) { final List < ArrayBracketPair > arrayBracketPairs = new ArrayList < > ( ) ; while ( type instanceof ArrayType ) { ArrayType arrayType = ( ArrayType ) type ; arrayBracketPairs . add ( new ArrayBracketPair ( Range . UNKNOWN , arrayType . getAnnotations ( ) ) ) ; type = arrayType . getComponentType ( ) ; } return new Pair < > ( type , arrayBracketPairs ) ; }
target:  Takes a type that may be an ArrayType. Unwraps ArrayTypes until the element type is found.