code: private static Field[] getBurstableFields(Class<?> cls) {
      final List<Field> fields = new ArrayList<>();
  
      for (Field field : getAllFields(cls)) {
        if (field.isAnnotationPresent(Burst.class)) {
  
          if (Modifier.isStatic(field.getModifiers())) {
            throw new IllegalStateException("Burstable field must not be static: " + field.getName());
          }
  
          if (Modifier.isFinal(field.getModifiers())) {
            throw new IllegalStateException("Burstable field must not be final: " + field.getName());
          }
  
          fields.add(field);
        }
      }
  
      return fields.toArray(new Field[fields.size()]);
    }
docs: Get all the {@link Burst}-annotated fields.
  Validates that the field is non-static and non-final, but doesn't check type (types are
  validated by static methods in {@link com.squareup.burst.Burst}).