code: public List<FieldRef> getFields() {
          Map<String,FieldRef> fields = new LinkedHashMap<String,FieldRef>();
          for (Klass<?> k = this; k!=null; k=k.getSuperClass()) {
              for (FieldRef f : k.getDeclaredFields()) {
                  String name = f.getName();
                  if (!fields.containsKey(name) && f.isRoutable()) {
                      fields.put(name,f);
                  }
              }
          }
  
          return new ArrayList<FieldRef>(fields.values());
      }
docs: Gets all the public fields defined in this type, including super types.
  
  @see Class#getFields()