void () { while (myFileModificationStamp != myFile.getModificationStamp() || myPropertiesMap == null) { myFileModificationStamp = myFile.getModificationStamp(); MostlySingularMultiMap<String, IProperty> propertiesMap = new MostlySingularMultiMap<>(); XmlTag rootTag = myFile.getRootTag(); final List<IProperty> propertiesOrder = new ArrayList<>(); if (rootTag != null) { XmlTag[] entries = rootTag.findSubTags(ENTRY_TAG_NAME); for (XmlTag entry : entries) { XmlProperty property = new XmlProperty(entry, this); propertiesOrder.add(property); final String key = property.getKey(); if (key != null) { propertiesMap.add(key, property); } } } myAlphaSorted = PropertiesImplUtil.isAlphaSorted(propertiesOrder); myProperties = propertiesOrder; myPropertiesMap = propertiesMap; } }