code: @Override
      public Class<?> loadClass(final boolean ignoreExceptions) {
          getTypeSignature();
          if (typeSignature instanceof BaseTypeSignature) {
              return ((BaseTypeSignature) typeSignature).getType();
          } else if (typeSignature instanceof ClassRefTypeSignature) {
              return ((ClassRefTypeSignature) typeSignature).loadClass(ignoreExceptions);
          } else {
              throw new IllegalArgumentException("Got unexpected type " + typeSignature.getClass().getName()
                      + " for ref type signature: " + typeDescriptorStr);
          }
      }
docs: Loads the referenced class, returning a {@code Class<?>} reference for the referenced class.
  
  @param ignoreExceptions
  if true, ignore exceptions and instead return null if the class could not be loaded.
  @return The {@code Class<?>} reference for the referenced class.
  @throws IllegalArgumentException
  if the class could not be loaded and ignoreExceptions was false.