public void build() {
        for (Field f : this.bagFields) {
            try {
                Object value = f.get(this);
                if (value != null) {
                    ResourceBag.class.cast(value).build();
                }
            } catch (IllegalAccessException e) {
                throw new RuntimeException("Failed to access a resource bag!", e);
            }
        }
    }