private void change(FileEvent fe) { synchronized (saveActions) { for (AtomicAction a : saveActions) { if (fe.firedFrom(a)) { return; } } } String path; FileObject f = fe.getFile(); synchronized (modifiedMetadataPaths) { if (f.equals(resolveFileObject(PROJECT_XML_PATH))) { if (modifiedMetadataPaths.contains(PROJECT_XML_PATH)) { // #68872: don't do anything if the given file has non-saved changes: return; } path = PROJECT_XML_PATH; projectXmlValid = false; } else if (f.equals(resolveFileObject(PRIVATE_XML_PATH))) { if (modifiedMetadataPaths.contains(PRIVATE_XML_PATH)) { // #68872: don't do anything if the given file has non-saved changes: return; } path = PRIVATE_XML_PATH; privateXmlValid = false; } else { LOG.log( Level.WARNING, "#184132: unexpected file change in {0}; possibly deleted project?", f); return; } } fireExternalChange(path); }