restygwt/src/main/java/org/fusesource/restygwt/rebind/JsonEncoderDecoderClassCreator.java
private List<JField> getFields(List<JField> allFields, JClassType type) {
        JField[] fields = type.getFields();
        for (JField field : fields) {
            if (!field.isTransient() && !isXmlTransient(field)) {
                allFields.add(field);
            }
        }
        try {
            JType objectType = find(Object.class, getLogger(), context);
            if (!objectType.equals(type)) {
                JClassType superType = type.getSuperclass();
                return getFields(allFields, superType);
            }
        } catch (UnableToCompleteException e) {
            // do nothing
        }

        return allFields;
    }
private List<JField> getFields(List<JField> allFields, JClassType type) {
        JField[] fields = type.getFields();
        for (JField field : fields) {
            if (!field.isTransient() && !isXmlTransient(field)) {
                allFields.add(field);
            }
        }
        try {
            JType objectType = find(Object.class, getLogger(), context);
            if (!objectType.equals(type)) {
                JClassType superType = type.getSuperclass();
                return getFields(allFields, superType);
            }
        } catch (UnableToCompleteException e) {
            // do nothing
        }

        return allFields;
    }
private List < JField > getFields ( List < JField > allFields , JClassType type ) { JField [ ] fields = type . getFields ( ) ; for ( JField field : fields ) { if ( ! field . isTransient ( ) && ! isXmlTransient ( field ) ) { allFields . add ( field ) ; } } try { JType objectType = find ( Object . class , getLogger ( ) , context ) ; if ( ! objectType . equals ( type ) ) { JClassType superType = type . getSuperclass ( ) ; return getFields ( allFields , superType ) ; } } catch ( UnableToCompleteException e ) { // do nothing } return allFields ; }
Returns a list of all fields (non {@code transient} and not annotated with {@link XmlTransient}) in the
supplied type and all super classes.

@param allFields
@param type
@return
Returns a list of all fields ( non { @code transient } and not annotated with { @link XmlTransient } ) in the supplied type and all super classes .