void (final PsiTreeChangeEvent event) { if (event.getParent() != null) { PsiFile containingFile = event.getParent().getContainingFile(); if (containingFile instanceof PropertiesFile) { LOG.debug("Received PSI change event for properties file"); myAlarm.cancelRequest(myRefreshPropertiesRequest); myAlarm.addRequest(myRefreshPropertiesRequest, 500, ModalityState.stateForComponent(GuiEditor.this)); } else if (containingFile instanceof PsiPlainTextFile && containingFile.getFileType().equals(GuiFormFileType.INSTANCE)) { // quick check if relevant String resourceName = FormEditingUtil.buildResourceName(containingFile); if (myDocument.getText().contains(resourceName)) { LOG.debug("Received PSI change event for nested form"); // TODO[yole]: handle multiple nesting myAlarm.cancelRequest(mySynchronizeRequest); myAlarm.addRequest(mySynchronizeRequest, 500, ModalityState.stateForComponent(GuiEditor.this)); } } } }