code: private boolean hasAbstractPackagePrivateSuperClassWithImplementation(Class<?> clazz, BridgeMethod bridgeMethod) {
          Class<?> superClass = clazz.getSuperclass();
          while (superClass != null) {
              if (Modifier.isAbstract(superClass.getModifiers()) && Reflections.isPackagePrivate(superClass.getModifiers())) {
                  // if superclass is abstract, we need to dig deeper
                  for (Method method : superClass.getDeclaredMethods()) {
                      if (bridgeMethod.signature.matches(method) && method.getGenericReturnType().equals(bridgeMethod.returnType)
                              && !Reflections.isAbstract(method)) {
                          // this is the case we are after -> methods have same signature and the one in super class has actual implementation
                          return true;
                      }
                  }
              }
              superClass = superClass.getSuperclass();
          }
          return false;
      }
docs: Returns true if super class of the parameter exists and is abstract and package private. In such case we want to omit such method.
  
  See WELD-2507 and Oracle issue - https://bugs.java.com/view_bug.do?bug_id=6342411
  
  @return true if the super class exists and is abstract and package private