public TypeInformation<?> getProperty(String fieldname) { int separatorIndex = fieldname.indexOf('.'); if (separatorIndex == -1) { if (fieldTypes.containsKey(fieldname)) { return fieldTypes.get(fieldname); } TypeInformation<?> propertyInformation = getPropertyInformation(fieldname); if (propertyInformation != null) { fieldTypes.put(fieldname, propertyInformation); } return propertyInformation; } String head = fieldname.substring(0, separatorIndex); TypeInformation<?> info = fieldTypes.get(head); return info == null ? null : info.getProperty(fieldname.substring(separatorIndex + 1)); }