diff --git a/.gitignore b/.gitignore
index 46c13092c57e6e7d748c76171eeb867c0b4a43f3..942a0f82d06aab263bd577c8350225f3ced00d3f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,16 +1,9 @@
-.classpath
 .DS_Store
-.project
 *~
 bin/
 build/
-.gradle/
 .settings/
-repos/
-gradle/
 *.class
 *.bkp
 *.out
 .classpath
-.project
-.externalToolBuilders/
diff --git a/.gradle/4.7/fileChanges/last-build.bin b/.gradle/4.7/fileChanges/last-build.bin
new file mode 100644
index 0000000000000000000000000000000000000000..f76dd238ade08917e6712764a16a22005a50573d
Binary files /dev/null and b/.gradle/4.7/fileChanges/last-build.bin differ
diff --git a/.gradle/4.7/fileHashes/fileHashes.bin b/.gradle/4.7/fileHashes/fileHashes.bin
new file mode 100644
index 0000000000000000000000000000000000000000..1a942803e67339dccfb10e97a1f145adf19948e0
Binary files /dev/null and b/.gradle/4.7/fileHashes/fileHashes.bin differ
diff --git a/.gradle/4.7/fileHashes/fileHashes.lock b/.gradle/4.7/fileHashes/fileHashes.lock
new file mode 100644
index 0000000000000000000000000000000000000000..08cb9b70cbab929f4827302bd5fb47026cb6bd76
Binary files /dev/null and b/.gradle/4.7/fileHashes/fileHashes.lock differ
diff --git a/.gradle/4.7/taskHistory/taskHistory.bin b/.gradle/4.7/taskHistory/taskHistory.bin
new file mode 100644
index 0000000000000000000000000000000000000000..bd108cb97655bd1ccfcee42a99d2c64f9e5b22f9
Binary files /dev/null and b/.gradle/4.7/taskHistory/taskHistory.bin differ
diff --git a/.gradle/4.7/taskHistory/taskHistory.lock b/.gradle/4.7/taskHistory/taskHistory.lock
new file mode 100644
index 0000000000000000000000000000000000000000..ae801af9e030d251278755a71377a76265960342
Binary files /dev/null and b/.gradle/4.7/taskHistory/taskHistory.lock differ
diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock
new file mode 100644
index 0000000000000000000000000000000000000000..ec707a63c6677a9ef2c6ca3ed5ef4b19e456a170
Binary files /dev/null and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ
diff --git a/.gradle/buildOutputCleanup/cache.properties b/.gradle/buildOutputCleanup/cache.properties
new file mode 100644
index 0000000000000000000000000000000000000000..f645da0fe731fd2a7ede436975db8064febc798b
--- /dev/null
+++ b/.gradle/buildOutputCleanup/cache.properties
@@ -0,0 +1,2 @@
+#Wed Jun 20 13:48:55 CEST 2018
+gradle.version=4.7
diff --git a/.gradle/buildOutputCleanup/outputFiles.bin b/.gradle/buildOutputCleanup/outputFiles.bin
new file mode 100644
index 0000000000000000000000000000000000000000..f135d0ff9a9df2097df0cfe974664bd91519d9bd
Binary files /dev/null and b/.gradle/buildOutputCleanup/outputFiles.bin differ
diff --git a/.gradle/vcsWorkingDirs/gc.properties b/.gradle/vcsWorkingDirs/gc.properties
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/.project b/.project
new file mode 100644
index 0000000000000000000000000000000000000000..fd85d8d98ffe6375290e46997d8989e58b140916
--- /dev/null
+++ b/.project
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>ImmutableComplex</name>
+	<comment>Project ImmutableComplex created by Buildship.</comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.buildship.core.gradleprojectbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.buildship.core.gradleprojectnature</nature>
+	</natures>
+</projectDescription>
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 0000000000000000000000000000000000000000..91ca28c8b802289c3a438766657a5e98f20eff03
Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 0000000000000000000000000000000000000000..16d28051c9c40c86881cc0af2195dc9dae1b10e4
--- /dev/null
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,5 @@
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.7-bin.zip
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists