boolean (final ApplyPatchContext context, final String[] beforeNameComponents, final String[] afterNameComponents) { int changedIndex = -1; for (int i = context.getSkipTopDirs(); i < afterNameComponents.length - 1; i++) { if (!beforeNameComponents[i].equals(afterNameComponents[i])) { if (changedIndex != -1) { return true; } changedIndex = i; } } if (changedIndex == -1) return false; VirtualFile oldDir = findFileToPatchByComponents(context, beforeNameComponents, changedIndex + 1); VirtualFile newDir = findFileToPatchByComponents(context.getPrepareContext(), afterNameComponents, changedIndex + 1); if (oldDir != null && newDir == null) { return false; } return true; }