static void fill(Map<String, java.lang.reflect.Field> fieldMap,
            Class<?> typeClass)
    {
        if (Object.class != typeClass.getSuperclass())
            fill(fieldMap, typeClass.getSuperclass());

        for (java.lang.reflect.Field f : typeClass.getDeclaredFields())
        {
            int mod = f.getModifiers();
            if (!Modifier.isStatic(mod) && !Modifier.isTransient(mod) && f.getAnnotation(Exclude.class) == null)
                fieldMap.put(f.getName(), f);
        }
    }
Generates a schema from the given class with the declared fields (inclusive) based from the given Map. The value
of a the Map's entry will be the name used for the field (which enables aliasing).
protostuff-runtime/src/main/java/io/protostuff/runtime/RuntimeSchema.java