Repository: quarkusio/quarkus
Issue: UnsupportedOperationException when trying to run dev mode on a multi-module project.

**Describe the bug**
When trying to run quarkus:dev on a multi-module project this issue happens:

```
Listening for transport dt_socket at address: 5005
Exception in thread "main" java.lang.RuntimeException: java.lang.UnsupportedOperationException
        at io.quarkus.dev.DevModeMain.main(DevModeMain.java:70)
Caused by: java.lang.UnsupportedOperationException
        at java.base/java.util.AbstractCollection.add(AbstractCollection.java:267)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
        at java.base/java.util.Collections$2.tryAdvance(Collections.java:4747)
        at java.base/java.util.Collections$2.forEachRemaining(Collections.java:4755)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
        at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
        at io.quarkus.dev.DevModeContext$ModuleInfo.addSourcePaths(DevModeContext.java:165)
        at io.quarkus.dev.DevModeMain.lambda$setupRuntimeCompilation$0(DevModeMain.java:232)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1540)
        at io.quarkus.dev.DevModeMain.setupRuntimeCompilation(DevModeMain.java:232)
        at io.quarkus.dev.DevModeMain.start(DevModeMain.java:88)
        at io.quarkus.dev.DevModeMain.main(DevModeMain.java:66)

```




**To Reproduce**
Steps to reproduce the behavior:
1. create a multi module project
2. navitage to the "runnable" module
3. run mvn clean compile quarkus:dev

**Configuration**
```properties
# Add your application.properties here, if applicable.

```

**Screenshots**
(If applicable, add screenshots to help explain your problem.)

**Environment (please complete the following information):**
 - Output of `uname -a` or `ver`: 
 - Output of `java -version`: 

> openjdk version "11.0.5" 2019-10-15
> OpenJDK Runtime Environment 18.9 (build 11.0.5+10)
> OpenJDK 64-Bit Server VM 18.9 (build 11.0.5+10, mixed mode, sharing)


 - GraalVM version (if different from Java): Not used in this case
 - Quarkus version or git rev: tested with 1.0.1.Final and 1.1.0.Final

**Additional context**
(Add any other context about the problem here.)


Changed files:
core/devmode/src/main/java/io/quarkus/dev/DevModeContext.java

diff --git a/core/devmode/src/main/java/io/quarkus/dev/DevModeContext.java b/core/devmode/src/main/java/io/quarkus/dev/DevModeContext.java
index ba3f3d19da6..6d4a0e0d2cc 100644
--- a/core/devmode/src/main/java/io/quarkus/dev/DevModeContext.java
+++ b/core/devmode/src/main/java/io/quarkus/dev/DevModeContext.java
@@ -5,7 +5,9 @@
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -163,7 +165,7 @@ public ModuleInfo(
                 String resourcePath) {
             this.name = name;
             this.projectDirectory = projectDirectory;
-            this.sourcePaths = sourcePaths;
+            this.sourcePaths = sourcePaths == null ? new HashSet<>() : new HashSet<>(sourcePaths);
             this.classesPath = classesPath;
             this.resourcePath = resourcePath;
         }
@@ -177,7 +179,7 @@ public String getProjectDirectory() {
         }
 
         public Set<String> getSourcePaths() {
-            return sourcePaths;
+            return Collections.unmodifiableSet(sourcePaths);
         }
 
         public void addSourcePaths(Collection<String> additionalPaths) {