code: private boolean classImplementsOrExtends(final Class<?> is, final Class<?> should) {
          if (is.equals(should)) {
              return true;
          }
          for (final Class<?> clazz : is.getInterfaces()) {
              if (classImplementsOrExtends(clazz, should)) {
                  return true;
              }
          }
          final Class<?> superClass = is.getSuperclass();
          if (superClass != null && !superClass.equals(Object.class)) {
              return classImplementsOrExtends(superClass, should);
          }
          return false;
      }
docs: Checks if a {@link Class} implements a specified interface.
  
  @param is
  The class that should be checked if it implements an interface.
  @param should
  The interface that should be checked for.
  @return {@code true} if the class implements the interface {@code false} otherwise.