@Override
    public SDField getStructField(String name) {
        actuallyMakeStructFields();
        if (name.contains(".")) {
            String superFieldName = name.substring(0,name.indexOf("."));
            String subFieldName = name.substring(name.indexOf(".")+1);
            SDField superField = structFields.get(superFieldName);
            if (superField != null) {
                return superField.getStructField(subFieldName);
            }
            return null;
        }
        return structFields.get(name);
    }
Returns a struct field defined in this field,
potentially traversing into nested structs.
Returns null if there is no such struct field defined.
config-model/src/main/java/com/yahoo/schema/document/SDField.java