# Katalon Studio failed to rename a Keyword class

**URL:** <https://forum.katalon.com/t/katalon-studio-failed-to-rename-a-keyword-class/84919>\
**Category:** Bug Report\
**Tags:** katalon-studio, bugs-report\
**Created:** [March 3, 2023, 2:11pm UTC](https://forum.katalon.com/t/katalon-studio-failed-to-rename-a-keyword-class/84919 "2023-03-03T14:11:51Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![kazurayam](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/kazurayam/32/333_2.png) [@kazurayam](https://forum.katalon.com/u/kazurayam)\
**Post date:** [March 3, 2023, 2:11pm UTC](https://forum.katalon.com/t/katalon-studio-failed-to-rename-a-keyword-class/84919/1 "2023-03-03T14:11:51Z")

</div>

I am using

- macOS 12.6
- Katalon Studio 8.3.0

I have created a GitHub repository that contains a Katalon Studio project where you can reproduce the problem:

> **[GitHub - kazurayam/KatalonStudioCanNotRenameKeywordClass](https://github.com/kazurayam/KatalonStudioCanNotRenameKeywordClass)**
>
> Contribute to kazurayam/KatalonStudioCanNotRenameKeywordClass development by creating an account on GitHub.

What happend:

In this project, I have a Keyword class `com.kazurayam.ks.testobject.BiMatcher`. `BiMatcher` class works fine.

You can try executing it by running a `Test Cases/junit4/com/kazurayam.ks.testobject/BiMatcherTestRunner`  
Also you can run it by `Test Suites/junit4/TS1`  
The test cases work fine.

Now, I wanted to renamed the class `BiMatcher` to `BilingualMatcher`.

I tried to rename it in the `Tests Explorer` by click the class; click mouse button right; Rename.

When I tried it, Katalon Studio hanged for 10 or 20 seconds; then came back.

But the `BiMatcher` class was still `BiMatcher`. Katalon Studio failed to rename it to `BilingualMatcher`.

I checked the `.log` file.  
[log.txt](https://forum.katalon.com/uploads/short-url/w0owcPoAKbDeAX4lgvKX4enN5TK.txt) (22.2 KB)

This contains a Stack Trace message:

```auto
!ENTRY org.eclipse.e4.ui.workbench 4 0 2023-03-03 22:56:41.621
!MESSAGE 
!STACK 0
org.eclipse.text.edits.MalformedTreeException: Overlapping text edits
	at org.eclipse.text.edits.TextEdit$InsertionComparator.compare(TextEdit.java:126)
	at org.eclipse.text.edits.TextEdit$InsertionComparator.compare(TextEdit.java:1)
	at java.util.Collections.indexedBinarySearch(Collections.java:334)
	at java.util.Collections.binarySearch(Collections.java:322)
	at org.eclipse.text.edits.TextEdit.computeInsertionIndex(TextEdit.java:799)
	at org.eclipse.text.edits.TextEdit.internalAdd(TextEdit.java:784)
	at org.eclipse.text.edits.TextEdit.addChild(TextEdit.java:340)
	at org.eclipse.jdt.internal.core.CopyResourceElementsOperation.updateNonJavaContent(CopyResourceElementsOperation.java:702)
	at org.eclipse.jdt.internal.core.CopyResourceElementsOperation.updateContent(CopyResourceElementsOperation.java:645)
	at org.eclipse.jdt.internal.core.CopyResourceElementsOperation.processCompilationUnitResource(CopyResourceElementsOperation.java:313)
	at org.eclipse.jdt.internal.core.CopyResourceElementsOperation.processElement(CopyResourceElementsOperation.java:422)
	at org.eclipse.jdt.internal.core.MultiOperation.processElements(MultiOperation.java:168)
	at org.eclipse.jdt.internal.core.CopyResourceElementsOperation.processElements(CopyResourceElementsOperation.java:441)
	at org.eclipse.jdt.internal.core.MultiOperation.executeOperation(MultiOperation.java:95)
	at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:736)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2292)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2317)
	at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:807)
	at org.eclipse.jdt.internal.core.JavaModel.rename(JavaModel.java:289)
	at org.eclipse.jdt.internal.core.CompilationUnit.rename(CompilationUnit.java:1350)
	at org.codehaus.jdt.groovy.model.GroovyCompilationUnit.rename(GroovyCompilationUnit.java:575)
	at org.eclipse.jdt.internal.corext.refactoring.changes.RenameCompilationUnitChange.doRename(RenameCompilationUnitChange.java:65)
	at org.eclipse.jdt.internal.corext.refactoring.AbstractJavaElementRenameChange.perform(AbstractJavaElementRenameChange.java:92)
	at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:281)
	at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.access$0(DynamicValidationStateChange.java:1)
	at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.lambda$0(DynamicValidationStateChange.java:105)
	at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:41)
	at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:736)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2292)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2317)
	at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:5895)
	at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.perform(DynamicValidationStateChange.java:106)
	at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:281)
	at org.eclipse.ltk.core.refactoring.PerformChangeOperation.lambda$0(PerformChangeOperation.java:258)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2292)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2317)
	at org.eclipse.ltk.core.refactoring.PerformChangeOperation.executeChange(PerformChangeOperation.java:295)
	at org.eclipse.ltk.core.refactoring.PerformChangeOperation.run(PerformChangeOperation.java:224)
	at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:41)
	at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:736)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2292)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2317)
	at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:5895)
	at org.eclipse.jdt.internal.ui.actions.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:108)
	at com.kms.katalon.composer.keyword.handlers.RenameKeywordHandler$2.run(RenameKeywordHandler.java:85)
	at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper.perform(RefactoringExecutionHelper.java:199)
	at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper.perform(RefactoringExecutionHelper.java:156)
	at org.eclipse.jdt.ui.refactoring.RenameSupport.perform(RenameSupport.java:201)
	at com.kms.katalon.composer.keyword.handlers.RenameKeywordHandler.execute(RenameKeywordHandler.java:79)
	at com.kms.katalon.composer.keyword.handlers.RenameKeywordHandler.access$0(RenameKeywordHandler.java:61)
	at com.kms.katalon.composer.keyword.handlers.RenameKeywordHandler$1.handleEvent(RenameKeywordHandler.java:55)
	at org.eclipse.e4.ui.services.internal.events.UIEventHandler.lambda$0(UIEventHandler.java:38)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4124)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3791)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1158)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1047)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:658)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:557)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:154)
	at com.kms.katalon.core.application.WorkbenchApplicationStarter.start(WorkbenchApplicationStarter.java:23)
	at com.kms.katalon.application.Application.runGUI(Application.java:191)
	at com.kms.katalon.application.Application.start(Application.java:102)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:657)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:594)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1447)

```

I hope Katalon team to fix this primitive bug.

@vu.tran Pls let them know.

---

<div class="post-metadata">

**Author:** ![kazurayam](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/kazurayam/32/333_2.png) [@kazurayam](https://forum.katalon.com/u/kazurayam)\
**Post date:** [March 3, 2023, 2:15pm UTC](https://forum.katalon.com/t/katalon-studio-failed-to-rename-a-keyword-class/84919/2 "2023-03-03T14:15:26Z")

</div>

This issue looks similar to another problem:

> [@Katalon Studio erased a Test Case code when it was moved, and then renamed](http://forum.katalon.com/t/katalon-studio-erased-a-test-case-code-when-it-was-moved-and-then-renamed/84169):
>
> This post follows my previous post: I believe that I have found out a procedure how to reproduce the incident (Test Case code is erased by Katalon Studio). So I would explain it here. I used 2 machine environments. The issue was reproduced on both. MacOS12.6 + Katalon Studio 8.3.0 Windows 10 + Katalon Studio Standard Editon 8.4.1 I did: Create a new Katalon Project Create a new Test Case at Test Cases/sub/subsub/TC1. The code is just skeltal as follows: import com.kms.katalon.cor…

Katalon Studio can not rename project entities.
