/*** Inspects the target class. Exceptions will be logged and a maker map returned* to indicate the lack of debug information.*/private Map
 inspectClass(Class
 clazz) {InputStream is = clazz.getResourceAsStream(ClassUtils.getClassFileName(clazz));if (is == null) {// We couldn't load the class file, which is not fatal as it// simply means this method of discovering parameter names won't work.if (logger.isDebugEnabled()) {logger.debug("Cannot find '.class' file for class [" + clazz+ "] - unable to determine constructors/methods parameter names");}return NO_DEBUG_INFO_MAP;}try {Cla***eader cla***eader = new Cla***eader(is);Map
 map = new ConcurrentHashMap
(32);cla***eader.accept(new ParameterNameDiscoveringVisitor(clazz, map), 0);return map;}catch (IOException ex) {if (logger.isDebugEnabled()) {logger.debug("Exception thrown while reading '.class' file for class [" + clazz +"] - unable to determine constructors/methods parameter names", ex);}}catch (IllegalArgumentException ex) {if (logger.isDebugEnabled()) {logger.debug("ASM Cla***eader failed to parse class file [" + clazz +"], probably due to a new Java class file version that isn't supported yet " +"- unable to determine constructors/methods parameter names", ex);}}finally {try {is.close();}catch (IOException ex) {// ignore}}return NO_DEBUG_INFO_MAP;}