private void addExposedTypes(GenericArrayType type,Class<?> cause){
  if (done(type)) {
    return;
  }
  visit(type);
  logger.debug("Adding exposed types from {}, which is the component type on generic array type {}",type.getGenericComponentType(),type);
  addExposedTypes(type.getGenericComponentType(),cause);
}

private void addExposedTypes ( GenericArrayType type , Class < ? > cause ) { if ( done ( type ) ) { return ; } visit ( type ) ; logger . debug ( "Adding exposed types from {}, which is the component type on generic array type {}" , type . getGenericComponentType ( ) , type ) ; addExposedTypes ( type . getGenericComponentType ( ) , cause ) ; }
adds any types exposed from the given array type . the array type itself is not added . the cause of the exposure of the underlying type is considered whatever type exposed the array type .
