[Bug]: Adding import doesn't seem consistent
- Dominant language
- Java
- Stars
- 2k
- Forks
- 392
- Avg merge
- 11h 24m
- Merged PRs (30d)
- 36
Description
### Describe the bug
I am adding an import to an existing file. I used one of the issues [3718](https://github.com/INRIA/spoon/issues/3718) to help me with this task. Unfortunately, import statement doesn't get added. See below for details.
### Source code you are trying to analyze/transform
```Java
Original:
------------------------------------------------------
import java.util.ArrayList;
import java.util.ConcurrentModificationException;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.ListIterator;
import java.util.NoSuchElementException;
import junit.framework.Test;
```
### Source code for your Spoon processing
```Java
// Add imports - replacing all imports with single import "java.util.ArrayList"
final CtImport import_ = launcher.getFactory().Core().createImport();
import_.setReference(launcher.getFactory().createReference("java.utils.Arraylist"));
clazz.getFactory().CompilationUnit().getOrCreate(clazz).setImports(Arrays.asList(import_));
System.out.println(clazz.getFactory().CompilationUnit().getOrCreate(clazz).getOriginalSourceCode());
System.out.println(clazz.getFactory().CompilationUnit().getOrCreate(clazz).getImports());
System.out.println(clazz.toStringWithImports());
```
### Actual output
```Java
[1] first print statement
----------------------------
import java.util.ArrayList;
import java.util.ConcurrentModificationException;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.ListIterator;
import java.util.NoSuchElementException;
import junit.framework.Test;
[2] second print statement
----------------------------
import java.util.ArrayList;
[3] third print statement
----------------------------
import java.util.ArrayList;
import java.util.ConcurrentModificationException;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.ListIterator;
import java.util.NoSuchElementException;
import junit.framework.Test;
```
### Expected output
```Java
import java.util.ArrayList;
```
### Spoon Version
fr.inria.gforge.spoon
spoon-core
10.1.1
### JVM Version
16
### What operating system are you using?
Window 10
Contributor guide
Assessment
This issue has not been assessed yet.