for (Iterator it = props.iterator(); it.hasNext(); ) { Property prop = (Property) it.next(); result += span(prop.getType());
for (int i = 0; i < key.size(); i++) { Mapping m = (Mapping) key.get(i); result += span(m.getMap());
    static int span(ObjectType type) {        Collection props = properties(type);        if (props.isEmpty()) {            return 1;        } else {            int result = 0;            for (Iterator it = props.iterator(); it.hasNext(); ) {                Property prop = (Property) it.next();                result += span(prop.getType());            }            return result;        }    }