code: @Override public List<MemberAnnotatedWithAtStat> apply(Class<?> clazz) {
      List<MemberAnnotatedWithAtStat> annotatedMembers = Lists.newArrayList();
  
      for (Class<?> currentClass = clazz;
          currentClass != Object.class;
          currentClass = currentClass.getSuperclass()) {
        for (Method method : currentClass.getDeclaredMethods()) {
          Stat stat = method.getAnnotation(Stat.class);
          if (stat != null && staticMemberPolicy.shouldAccept(method)) {
            annotatedMembers.add(new MemberAnnotatedWithAtStat(stat, method));
          }
        }
        for (Field field : currentClass.getDeclaredFields()) {
          Stat stat = field.getAnnotation(Stat.class);
          if (stat != null && staticMemberPolicy.shouldAccept(field)) {
            annotatedMembers.add(new MemberAnnotatedWithAtStat(stat, field));
          }
        }
      }
  
      return annotatedMembers;
    }
docs: {@inheritDoc}
  
  <p>Climbs the class hierarchy finding all annotated members.