diff --git a/contributions/.idea/compiler.xml b/contributions/.idea/compiler.xml
new file mode 100644
index 00000000..6ad916c1
--- /dev/null
+++ b/contributions/.idea/compiler.xml
@@ -0,0 +1,97 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/gradle.xml b/contributions/.idea/gradle.xml
new file mode 100644
index 00000000..d56391ef
--- /dev/null
+++ b/contributions/.idea/gradle.xml
@@ -0,0 +1,63 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/libraries/Gradle__com_fasterxml_jackson_core_jackson_annotations_2_4_0.xml b/contributions/.idea/libraries/Gradle__com_fasterxml_jackson_core_jackson_annotations_2_4_0.xml
new file mode 100644
index 00000000..ff54d795
--- /dev/null
+++ b/contributions/.idea/libraries/Gradle__com_fasterxml_jackson_core_jackson_annotations_2_4_0.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/libraries/Gradle__com_fasterxml_jackson_core_jackson_core_2_4_1_1.xml b/contributions/.idea/libraries/Gradle__com_fasterxml_jackson_core_jackson_core_2_4_1_1.xml
new file mode 100644
index 00000000..307b701a
--- /dev/null
+++ b/contributions/.idea/libraries/Gradle__com_fasterxml_jackson_core_jackson_core_2_4_1_1.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/libraries/Gradle__com_fasterxml_jackson_core_jackson_databind_2_4_1_3.xml b/contributions/.idea/libraries/Gradle__com_fasterxml_jackson_core_jackson_databind_2_4_1_3.xml
new file mode 100644
index 00000000..7653409b
--- /dev/null
+++ b/contributions/.idea/libraries/Gradle__com_fasterxml_jackson_core_jackson_databind_2_4_1_3.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/libraries/Gradle__com_google_code_gson_gson_2_2_4.xml b/contributions/.idea/libraries/Gradle__com_google_code_gson_gson_2_2_4.xml
new file mode 100644
index 00000000..5fadbfbb
--- /dev/null
+++ b/contributions/.idea/libraries/Gradle__com_google_code_gson_gson_2_2_4.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/libraries/Gradle__com_h2database_h2_1_4_178.xml b/contributions/.idea/libraries/Gradle__com_h2database_h2_1_4_178.xml
new file mode 100644
index 00000000..7f96d1d2
--- /dev/null
+++ b/contributions/.idea/libraries/Gradle__com_h2database_h2_1_4_178.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/libraries/Gradle__com_netflix_rxjava_rxjava_core_0_16_1.xml b/contributions/.idea/libraries/Gradle__com_netflix_rxjava_rxjava_core_0_16_1.xml
new file mode 100644
index 00000000..891eb047
--- /dev/null
+++ b/contributions/.idea/libraries/Gradle__com_netflix_rxjava_rxjava_core_0_16_1.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/libraries/Gradle__com_typesafe_akka_akka_actor_2_10_2_3_4.xml b/contributions/.idea/libraries/Gradle__com_typesafe_akka_akka_actor_2_10_2_3_4.xml
new file mode 100644
index 00000000..55324abf
--- /dev/null
+++ b/contributions/.idea/libraries/Gradle__com_typesafe_akka_akka_actor_2_10_2_3_4.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/libraries/Gradle__com_typesafe_config_1_2_1.xml b/contributions/.idea/libraries/Gradle__com_typesafe_config_1_2_1.xml
new file mode 100644
index 00000000..e73cd858
--- /dev/null
+++ b/contributions/.idea/libraries/Gradle__com_typesafe_config_1_2_1.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/libraries/Gradle__commons_jxpath_commons_jxpath_1_3.xml b/contributions/.idea/libraries/Gradle__commons_jxpath_commons_jxpath_1_3.xml
new file mode 100644
index 00000000..e880ad31
--- /dev/null
+++ b/contributions/.idea/libraries/Gradle__commons_jxpath_commons_jxpath_1_3.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/libraries/Gradle__jdom_jdom_1_1.xml b/contributions/.idea/libraries/Gradle__jdom_jdom_1_1.xml
new file mode 100644
index 00000000..8df6b533
--- /dev/null
+++ b/contributions/.idea/libraries/Gradle__jdom_jdom_1_1.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/libraries/Gradle__junit_junit_4_11.xml b/contributions/.idea/libraries/Gradle__junit_junit_4_11.xml
new file mode 100644
index 00000000..dc26b345
--- /dev/null
+++ b/contributions/.idea/libraries/Gradle__junit_junit_4_11.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/libraries/Gradle__junit_junit_4_4.xml b/contributions/.idea/libraries/Gradle__junit_junit_4_4.xml
new file mode 100644
index 00000000..c7fcdb1a
--- /dev/null
+++ b/contributions/.idea/libraries/Gradle__junit_junit_4_4.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/libraries/Gradle__org_abego_treelayout_org_abego_treelayout_core_1_0_1.xml b/contributions/.idea/libraries/Gradle__org_abego_treelayout_org_abego_treelayout_core_1_0_1.xml
new file mode 100644
index 00000000..4844a08a
--- /dev/null
+++ b/contributions/.idea/libraries/Gradle__org_abego_treelayout_org_abego_treelayout_core_1_0_1.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/libraries/Gradle__org_antlr_ST4_4_0_8.xml b/contributions/.idea/libraries/Gradle__org_antlr_ST4_4_0_8.xml
new file mode 100644
index 00000000..8bacbdcc
--- /dev/null
+++ b/contributions/.idea/libraries/Gradle__org_antlr_ST4_4_0_8.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/libraries/Gradle__org_antlr_antlr4_4_2_2.xml b/contributions/.idea/libraries/Gradle__org_antlr_antlr4_4_2_2.xml
new file mode 100644
index 00000000..5ef502c0
--- /dev/null
+++ b/contributions/.idea/libraries/Gradle__org_antlr_antlr4_4_2_2.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/libraries/Gradle__org_antlr_antlr4_annotations_4_2_2.xml b/contributions/.idea/libraries/Gradle__org_antlr_antlr4_annotations_4_2_2.xml
new file mode 100644
index 00000000..aea35f59
--- /dev/null
+++ b/contributions/.idea/libraries/Gradle__org_antlr_antlr4_annotations_4_2_2.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/libraries/Gradle__org_antlr_antlr4_runtime_4_2_2.xml b/contributions/.idea/libraries/Gradle__org_antlr_antlr4_runtime_4_2_2.xml
new file mode 100644
index 00000000..d550d434
--- /dev/null
+++ b/contributions/.idea/libraries/Gradle__org_antlr_antlr4_runtime_4_2_2.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/libraries/Gradle__org_antlr_antlr_runtime_3_5_2.xml b/contributions/.idea/libraries/Gradle__org_antlr_antlr_runtime_3_5_2.xml
new file mode 100644
index 00000000..a7c38fea
--- /dev/null
+++ b/contributions/.idea/libraries/Gradle__org_antlr_antlr_runtime_3_5_2.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/libraries/Gradle__org_apache_activemq_activemq_all_5_10_0.xml b/contributions/.idea/libraries/Gradle__org_apache_activemq_activemq_all_5_10_0.xml
new file mode 100644
index 00000000..e51fe006
--- /dev/null
+++ b/contributions/.idea/libraries/Gradle__org_apache_activemq_activemq_all_5_10_0.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/libraries/Gradle__org_glassfish_javax_json_1_0_4.xml b/contributions/.idea/libraries/Gradle__org_glassfish_javax_json_1_0_4.xml
new file mode 100644
index 00000000..a105805d
--- /dev/null
+++ b/contributions/.idea/libraries/Gradle__org_glassfish_javax_json_1_0_4.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/libraries/Gradle__org_glassfish_javax_json_1_1_4.xml b/contributions/.idea/libraries/Gradle__org_glassfish_javax_json_1_1_4.xml
new file mode 100644
index 00000000..25bf5da2
--- /dev/null
+++ b/contributions/.idea/libraries/Gradle__org_glassfish_javax_json_1_1_4.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3.xml b/contributions/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3.xml
new file mode 100644
index 00000000..8262f729
--- /dev/null
+++ b/contributions/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/libraries/Gradle__org_jdom_jdom_1_1.xml b/contributions/.idea/libraries/Gradle__org_jdom_jdom_1_1.xml
new file mode 100644
index 00000000..d1845e52
--- /dev/null
+++ b/contributions/.idea/libraries/Gradle__org_jdom_jdom_1_1.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/libraries/Gradle__org_scala_lang_scala_compiler_2_10_4.xml b/contributions/.idea/libraries/Gradle__org_scala_lang_scala_compiler_2_10_4.xml
new file mode 100644
index 00000000..eb3c79cd
--- /dev/null
+++ b/contributions/.idea/libraries/Gradle__org_scala_lang_scala_compiler_2_10_4.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/libraries/Gradle__org_scala_lang_scala_library_2_10_4.xml b/contributions/.idea/libraries/Gradle__org_scala_lang_scala_library_2_10_4.xml
new file mode 100644
index 00000000..da6cec38
--- /dev/null
+++ b/contributions/.idea/libraries/Gradle__org_scala_lang_scala_library_2_10_4.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/libraries/Gradle__org_scala_lang_scala_reflect_2_10_4.xml b/contributions/.idea/libraries/Gradle__org_scala_lang_scala_reflect_2_10_4.xml
new file mode 100644
index 00000000..76f32aa9
--- /dev/null
+++ b/contributions/.idea/libraries/Gradle__org_scala_lang_scala_reflect_2_10_4.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/libraries/Gradle__org_w3c_dom_2_3_0_jaxb_1_0_6.xml b/contributions/.idea/libraries/Gradle__org_w3c_dom_2_3_0_jaxb_1_0_6.xml
new file mode 100644
index 00000000..11dfe3aa
--- /dev/null
+++ b/contributions/.idea/libraries/Gradle__org_w3c_dom_2_3_0_jaxb_1_0_6.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/libraries/Gradle__sax_sax_2_0_1.xml b/contributions/.idea/libraries/Gradle__sax_sax_2_0_1.xml
new file mode 100644
index 00000000..851fd732
--- /dev/null
+++ b/contributions/.idea/libraries/Gradle__sax_sax_2_0_1.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/libraries/Gradle__xalan_serializer_2_7_1.xml b/contributions/.idea/libraries/Gradle__xalan_serializer_2_7_1.xml
new file mode 100644
index 00000000..e29b57cd
--- /dev/null
+++ b/contributions/.idea/libraries/Gradle__xalan_serializer_2_7_1.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/libraries/Gradle__xalan_xalan_2_7_0.xml b/contributions/.idea/libraries/Gradle__xalan_xalan_2_7_0.xml
new file mode 100644
index 00000000..83ddb7e5
--- /dev/null
+++ b/contributions/.idea/libraries/Gradle__xalan_xalan_2_7_0.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/libraries/Gradle__xalan_xalan_2_7_1.xml b/contributions/.idea/libraries/Gradle__xalan_xalan_2_7_1.xml
new file mode 100644
index 00000000..e1d5edf1
--- /dev/null
+++ b/contributions/.idea/libraries/Gradle__xalan_xalan_2_7_1.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/libraries/Gradle__xerces_xercesImpl_2_8_0.xml b/contributions/.idea/libraries/Gradle__xerces_xercesImpl_2_8_0.xml
new file mode 100644
index 00000000..1c423563
--- /dev/null
+++ b/contributions/.idea/libraries/Gradle__xerces_xercesImpl_2_8_0.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/libraries/Gradle__xml_apis_xml_apis_1_3_04.xml b/contributions/.idea/libraries/Gradle__xml_apis_xml_apis_1_3_04.xml
new file mode 100644
index 00000000..5e0c5f66
--- /dev/null
+++ b/contributions/.idea/libraries/Gradle__xml_apis_xml_apis_1_3_04.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/libraries/Gradle__xom_xom_1_2_5.xml b/contributions/.idea/libraries/Gradle__xom_xom_1_2_5.xml
new file mode 100644
index 00000000..c6b7ba66
--- /dev/null
+++ b/contributions/.idea/libraries/Gradle__xom_xom_1_2_5.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/misc.xml b/contributions/.idea/misc.xml
new file mode 100644
index 00000000..503977fc
--- /dev/null
+++ b/contributions/.idea/misc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules.xml b/contributions/.idea/modules.xml
new file mode 100644
index 00000000..403a0242
--- /dev/null
+++ b/contributions/.idea/modules.xml
@@ -0,0 +1,143 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/akkaActor/akkaActor.iml b/contributions/.idea/modules/akkaActor/akkaActor.iml
new file mode 100644
index 00000000..367baee9
--- /dev/null
+++ b/contributions/.idea/modules/akkaActor/akkaActor.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/akkaActor/akkaActor_main.iml b/contributions/.idea/modules/akkaActor/akkaActor_main.iml
new file mode 100644
index 00000000..2e148cbd
--- /dev/null
+++ b/contributions/.idea/modules/akkaActor/akkaActor_main.iml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/akkaActor/akkaActor_test.iml b/contributions/.idea/modules/akkaActor/akkaActor_test.iml
new file mode 100644
index 00000000..047451be
--- /dev/null
+++ b/contributions/.idea/modules/akkaActor/akkaActor_test.iml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/antlr4Acceptor/antlr4Acceptor.iml b/contributions/.idea/modules/antlr4Acceptor/antlr4Acceptor.iml
new file mode 100644
index 00000000..38e97b6d
--- /dev/null
+++ b/contributions/.idea/modules/antlr4Acceptor/antlr4Acceptor.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/antlr4Acceptor/antlr4Acceptor_main.iml b/contributions/.idea/modules/antlr4Acceptor/antlr4Acceptor_main.iml
new file mode 100644
index 00000000..a4de47f9
--- /dev/null
+++ b/contributions/.idea/modules/antlr4Acceptor/antlr4Acceptor_main.iml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/antlr4Acceptor/antlr4Acceptor_test.iml b/contributions/.idea/modules/antlr4Acceptor/antlr4Acceptor_test.iml
new file mode 100644
index 00000000..c42bfa0c
--- /dev/null
+++ b/contributions/.idea/modules/antlr4Acceptor/antlr4Acceptor_test.iml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/antlr4Lexer/antlr4Lexer.iml b/contributions/.idea/modules/antlr4Lexer/antlr4Lexer.iml
new file mode 100644
index 00000000..9c340e4c
--- /dev/null
+++ b/contributions/.idea/modules/antlr4Lexer/antlr4Lexer.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/antlr4Lexer/antlr4Lexer_main.iml b/contributions/.idea/modules/antlr4Lexer/antlr4Lexer_main.iml
new file mode 100644
index 00000000..b0fa42a8
--- /dev/null
+++ b/contributions/.idea/modules/antlr4Lexer/antlr4Lexer_main.iml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/antlr4Lexer/antlr4Lexer_test.iml b/contributions/.idea/modules/antlr4Lexer/antlr4Lexer_test.iml
new file mode 100644
index 00000000..babad0b7
--- /dev/null
+++ b/contributions/.idea/modules/antlr4Lexer/antlr4Lexer_test.iml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/antlr4Objects/antlr4Objects.iml b/contributions/.idea/modules/antlr4Objects/antlr4Objects.iml
new file mode 100644
index 00000000..444dde2a
--- /dev/null
+++ b/contributions/.idea/modules/antlr4Objects/antlr4Objects.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/antlr4Objects/antlr4Objects_main.iml b/contributions/.idea/modules/antlr4Objects/antlr4Objects_main.iml
new file mode 100644
index 00000000..256b0fb8
--- /dev/null
+++ b/contributions/.idea/modules/antlr4Objects/antlr4Objects_main.iml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/antlr4Objects/antlr4Objects_test.iml b/contributions/.idea/modules/antlr4Objects/antlr4Objects_test.iml
new file mode 100644
index 00000000..0a17b4de
--- /dev/null
+++ b/contributions/.idea/modules/antlr4Objects/antlr4Objects_test.iml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/antlr4ParseTreeListener/antlr4ParseTreeListener.iml b/contributions/.idea/modules/antlr4ParseTreeListener/antlr4ParseTreeListener.iml
new file mode 100644
index 00000000..16d817e9
--- /dev/null
+++ b/contributions/.idea/modules/antlr4ParseTreeListener/antlr4ParseTreeListener.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/antlr4ParseTreeListener/antlr4ParseTreeListener_main.iml b/contributions/.idea/modules/antlr4ParseTreeListener/antlr4ParseTreeListener_main.iml
new file mode 100644
index 00000000..18213b8f
--- /dev/null
+++ b/contributions/.idea/modules/antlr4ParseTreeListener/antlr4ParseTreeListener_main.iml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/antlr4ParseTreeListener/antlr4ParseTreeListener_test.iml b/contributions/.idea/modules/antlr4ParseTreeListener/antlr4ParseTreeListener_test.iml
new file mode 100644
index 00000000..962cc31b
--- /dev/null
+++ b/contributions/.idea/modules/antlr4ParseTreeListener/antlr4ParseTreeListener_test.iml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/antlr4ParseTreeVisitor/antlr4ParseTreeVisitor.iml b/contributions/.idea/modules/antlr4ParseTreeVisitor/antlr4ParseTreeVisitor.iml
new file mode 100644
index 00000000..1dbf7e29
--- /dev/null
+++ b/contributions/.idea/modules/antlr4ParseTreeVisitor/antlr4ParseTreeVisitor.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/antlr4ParseTreeVisitor/antlr4ParseTreeVisitor_main.iml b/contributions/.idea/modules/antlr4ParseTreeVisitor/antlr4ParseTreeVisitor_main.iml
new file mode 100644
index 00000000..81489d16
--- /dev/null
+++ b/contributions/.idea/modules/antlr4ParseTreeVisitor/antlr4ParseTreeVisitor_main.iml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/antlr4ParseTreeVisitor/antlr4ParseTreeVisitor_test.iml b/contributions/.idea/modules/antlr4ParseTreeVisitor/antlr4ParseTreeVisitor_test.iml
new file mode 100644
index 00000000..d7e3a90d
--- /dev/null
+++ b/contributions/.idea/modules/antlr4ParseTreeVisitor/antlr4ParseTreeVisitor_test.iml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/antlr4Parser/antlr4Parser.iml b/contributions/.idea/modules/antlr4Parser/antlr4Parser.iml
new file mode 100644
index 00000000..46fb7218
--- /dev/null
+++ b/contributions/.idea/modules/antlr4Parser/antlr4Parser.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/antlr4Parser/antlr4Parser_main.iml b/contributions/.idea/modules/antlr4Parser/antlr4Parser_main.iml
new file mode 100644
index 00000000..f8185771
--- /dev/null
+++ b/contributions/.idea/modules/antlr4Parser/antlr4Parser_main.iml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/antlr4Parser/antlr4Parser_test.iml b/contributions/.idea/modules/antlr4Parser/antlr4Parser_test.iml
new file mode 100644
index 00000000..64f7aebc
--- /dev/null
+++ b/contributions/.idea/modules/antlr4Parser/antlr4Parser_test.iml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/dom/dom.iml b/contributions/.idea/modules/dom/dom.iml
new file mode 100644
index 00000000..d4895776
--- /dev/null
+++ b/contributions/.idea/modules/dom/dom.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/dom/dom_main.iml b/contributions/.idea/modules/dom/dom_main.iml
new file mode 100644
index 00000000..acfd0fce
--- /dev/null
+++ b/contributions/.idea/modules/dom/dom_main.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/dom/dom_test.iml b/contributions/.idea/modules/dom/dom_test.iml
new file mode 100644
index 00000000..72f953c6
--- /dev/null
+++ b/contributions/.idea/modules/dom/dom_test.iml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/h2jdbcMany/h2jdbcMany.iml b/contributions/.idea/modules/h2jdbcMany/h2jdbcMany.iml
new file mode 100644
index 00000000..2fa69f0a
--- /dev/null
+++ b/contributions/.idea/modules/h2jdbcMany/h2jdbcMany.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/h2jdbcMany/h2jdbcMany_main.iml b/contributions/.idea/modules/h2jdbcMany/h2jdbcMany_main.iml
new file mode 100644
index 00000000..bebe5908
--- /dev/null
+++ b/contributions/.idea/modules/h2jdbcMany/h2jdbcMany_main.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/h2jdbcMany/h2jdbcMany_test.iml b/contributions/.idea/modules/h2jdbcMany/h2jdbcMany_test.iml
new file mode 100644
index 00000000..29f5e395
--- /dev/null
+++ b/contributions/.idea/modules/h2jdbcMany/h2jdbcMany_test.iml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/h2jdbcManySum/h2jdbcManySum.iml b/contributions/.idea/modules/h2jdbcManySum/h2jdbcManySum.iml
new file mode 100644
index 00000000..3bc262c6
--- /dev/null
+++ b/contributions/.idea/modules/h2jdbcManySum/h2jdbcManySum.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/h2jdbcManySum/h2jdbcManySum_main.iml b/contributions/.idea/modules/h2jdbcManySum/h2jdbcManySum_main.iml
new file mode 100644
index 00000000..1d5abe4b
--- /dev/null
+++ b/contributions/.idea/modules/h2jdbcManySum/h2jdbcManySum_main.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/h2jdbcManySum/h2jdbcManySum_test.iml b/contributions/.idea/modules/h2jdbcManySum/h2jdbcManySum_test.iml
new file mode 100644
index 00000000..7293c528
--- /dev/null
+++ b/contributions/.idea/modules/h2jdbcManySum/h2jdbcManySum_test.iml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/h2jdbcOne/h2jdbcOne.iml b/contributions/.idea/modules/h2jdbcOne/h2jdbcOne.iml
new file mode 100644
index 00000000..95baca7d
--- /dev/null
+++ b/contributions/.idea/modules/h2jdbcOne/h2jdbcOne.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/h2jdbcOne/h2jdbcOne_main.iml b/contributions/.idea/modules/h2jdbcOne/h2jdbcOne_main.iml
new file mode 100644
index 00000000..032816bc
--- /dev/null
+++ b/contributions/.idea/modules/h2jdbcOne/h2jdbcOne_main.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/h2jdbcOne/h2jdbcOne_test.iml b/contributions/.idea/modules/h2jdbcOne/h2jdbcOne_test.iml
new file mode 100644
index 00000000..a1e9ea40
--- /dev/null
+++ b/contributions/.idea/modules/h2jdbcOne/h2jdbcOne_test.iml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaComposition/javaComposition.iml b/contributions/.idea/modules/javaComposition/javaComposition.iml
new file mode 100644
index 00000000..c7e0e03e
--- /dev/null
+++ b/contributions/.idea/modules/javaComposition/javaComposition.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaComposition/javaComposition_main.iml b/contributions/.idea/modules/javaComposition/javaComposition_main.iml
new file mode 100644
index 00000000..0834b4a3
--- /dev/null
+++ b/contributions/.idea/modules/javaComposition/javaComposition_main.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaComposition/javaComposition_test.iml b/contributions/.idea/modules/javaComposition/javaComposition_test.iml
new file mode 100644
index 00000000..1d4f36fd
--- /dev/null
+++ b/contributions/.idea/modules/javaComposition/javaComposition_test.iml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaExorcism/javaExorcism.iml b/contributions/.idea/modules/javaExorcism/javaExorcism.iml
new file mode 100644
index 00000000..9c10b8e5
--- /dev/null
+++ b/contributions/.idea/modules/javaExorcism/javaExorcism.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaExorcism/javaExorcism_main.iml b/contributions/.idea/modules/javaExorcism/javaExorcism_main.iml
new file mode 100644
index 00000000..9baa403f
--- /dev/null
+++ b/contributions/.idea/modules/javaExorcism/javaExorcism_main.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaExorcism/javaExorcism_test.iml b/contributions/.idea/modules/javaExorcism/javaExorcism_test.iml
new file mode 100644
index 00000000..9cffeade
--- /dev/null
+++ b/contributions/.idea/modules/javaExorcism/javaExorcism_test.iml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaGson/javaGson.iml b/contributions/.idea/modules/javaGson/javaGson.iml
new file mode 100644
index 00000000..dff58bab
--- /dev/null
+++ b/contributions/.idea/modules/javaGson/javaGson.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaGson/javaGson_main.iml b/contributions/.idea/modules/javaGson/javaGson_main.iml
new file mode 100644
index 00000000..338c8096
--- /dev/null
+++ b/contributions/.idea/modules/javaGson/javaGson_main.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaGson/javaGson_test.iml b/contributions/.idea/modules/javaGson/javaGson_test.iml
new file mode 100644
index 00000000..49e40973
--- /dev/null
+++ b/contributions/.idea/modules/javaGson/javaGson_test.iml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaGsonObjects/javaGsonObjects.iml b/contributions/.idea/modules/javaGsonObjects/javaGsonObjects.iml
new file mode 100644
index 00000000..5c2b40b0
--- /dev/null
+++ b/contributions/.idea/modules/javaGsonObjects/javaGsonObjects.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaGsonObjects/javaGsonObjects_main.iml b/contributions/.idea/modules/javaGsonObjects/javaGsonObjects_main.iml
new file mode 100644
index 00000000..f0dddd2c
--- /dev/null
+++ b/contributions/.idea/modules/javaGsonObjects/javaGsonObjects_main.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaGsonObjects/javaGsonObjects_test.iml b/contributions/.idea/modules/javaGsonObjects/javaGsonObjects_test.iml
new file mode 100644
index 00000000..49cf2660
--- /dev/null
+++ b/contributions/.idea/modules/javaGsonObjects/javaGsonObjects_test.iml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaInheritance/javaInheritance.iml b/contributions/.idea/modules/javaInheritance/javaInheritance.iml
new file mode 100644
index 00000000..d8d06f9c
--- /dev/null
+++ b/contributions/.idea/modules/javaInheritance/javaInheritance.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaInheritance/javaInheritance_main.iml b/contributions/.idea/modules/javaInheritance/javaInheritance_main.iml
new file mode 100644
index 00000000..6eea3552
--- /dev/null
+++ b/contributions/.idea/modules/javaInheritance/javaInheritance_main.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaInheritance/javaInheritance_test.iml b/contributions/.idea/modules/javaInheritance/javaInheritance_test.iml
new file mode 100644
index 00000000..cbd8fb64
--- /dev/null
+++ b/contributions/.idea/modules/javaInheritance/javaInheritance_test.iml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaJacksonDataBinding/javaJacksonDataBinding.iml b/contributions/.idea/modules/javaJacksonDataBinding/javaJacksonDataBinding.iml
new file mode 100644
index 00000000..cf6e4230
--- /dev/null
+++ b/contributions/.idea/modules/javaJacksonDataBinding/javaJacksonDataBinding.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaJacksonDataBinding/javaJacksonDataBinding_main.iml b/contributions/.idea/modules/javaJacksonDataBinding/javaJacksonDataBinding_main.iml
new file mode 100644
index 00000000..9b851c0e
--- /dev/null
+++ b/contributions/.idea/modules/javaJacksonDataBinding/javaJacksonDataBinding_main.iml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaJacksonDataBinding/javaJacksonDataBinding_test.iml b/contributions/.idea/modules/javaJacksonDataBinding/javaJacksonDataBinding_test.iml
new file mode 100644
index 00000000..7ad03cbd
--- /dev/null
+++ b/contributions/.idea/modules/javaJacksonDataBinding/javaJacksonDataBinding_test.iml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaJacksonStreaming/javaJacksonStreaming.iml b/contributions/.idea/modules/javaJacksonStreaming/javaJacksonStreaming.iml
new file mode 100644
index 00000000..dfaaa82f
--- /dev/null
+++ b/contributions/.idea/modules/javaJacksonStreaming/javaJacksonStreaming.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaJacksonStreaming/javaJacksonStreaming_main.iml b/contributions/.idea/modules/javaJacksonStreaming/javaJacksonStreaming_main.iml
new file mode 100644
index 00000000..e6086e86
--- /dev/null
+++ b/contributions/.idea/modules/javaJacksonStreaming/javaJacksonStreaming_main.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaJacksonStreaming/javaJacksonStreaming_test.iml b/contributions/.idea/modules/javaJacksonStreaming/javaJacksonStreaming_test.iml
new file mode 100644
index 00000000..0665b4e1
--- /dev/null
+++ b/contributions/.idea/modules/javaJacksonStreaming/javaJacksonStreaming_test.iml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaJacksonTreeModel/javaJacksonTreeModel.iml b/contributions/.idea/modules/javaJacksonTreeModel/javaJacksonTreeModel.iml
new file mode 100644
index 00000000..a0b3bd81
--- /dev/null
+++ b/contributions/.idea/modules/javaJacksonTreeModel/javaJacksonTreeModel.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaJacksonTreeModel/javaJacksonTreeModel_main.iml b/contributions/.idea/modules/javaJacksonTreeModel/javaJacksonTreeModel_main.iml
new file mode 100644
index 00000000..9c3c60b8
--- /dev/null
+++ b/contributions/.idea/modules/javaJacksonTreeModel/javaJacksonTreeModel_main.iml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaJacksonTreeModel/javaJacksonTreeModel_test.iml b/contributions/.idea/modules/javaJacksonTreeModel/javaJacksonTreeModel_test.iml
new file mode 100644
index 00000000..3020cd83
--- /dev/null
+++ b/contributions/.idea/modules/javaJacksonTreeModel/javaJacksonTreeModel_test.iml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaJson/javaJson.iml b/contributions/.idea/modules/javaJson/javaJson.iml
new file mode 100644
index 00000000..76b7a08a
--- /dev/null
+++ b/contributions/.idea/modules/javaJson/javaJson.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaJson/javaJson_main.iml b/contributions/.idea/modules/javaJson/javaJson_main.iml
new file mode 100644
index 00000000..d7c902f7
--- /dev/null
+++ b/contributions/.idea/modules/javaJson/javaJson_main.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaJson/javaJson_test.iml b/contributions/.idea/modules/javaJson/javaJson_test.iml
new file mode 100644
index 00000000..efbd9fc5
--- /dev/null
+++ b/contributions/.idea/modules/javaJson/javaJson_test.iml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaJsonHttp/javaJsonHttp.iml b/contributions/.idea/modules/javaJsonHttp/javaJsonHttp.iml
new file mode 100644
index 00000000..6933e209
--- /dev/null
+++ b/contributions/.idea/modules/javaJsonHttp/javaJsonHttp.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaJsonHttp/javaJsonHttp_main.iml b/contributions/.idea/modules/javaJsonHttp/javaJsonHttp_main.iml
new file mode 100644
index 00000000..89a15051
--- /dev/null
+++ b/contributions/.idea/modules/javaJsonHttp/javaJsonHttp_main.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaJsonHttp/javaJsonHttp_test.iml b/contributions/.idea/modules/javaJsonHttp/javaJsonHttp_test.iml
new file mode 100644
index 00000000..5f4b45db
--- /dev/null
+++ b/contributions/.idea/modules/javaJsonHttp/javaJsonHttp_test.iml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaJsonJava10.iml b/contributions/.idea/modules/javaJsonJava10.iml
new file mode 100644
index 00000000..571b99b6
--- /dev/null
+++ b/contributions/.idea/modules/javaJsonJava10.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaJsonJava10/javaJsonJava10_main.iml b/contributions/.idea/modules/javaJsonJava10/javaJsonJava10_main.iml
new file mode 100644
index 00000000..a849e7a4
--- /dev/null
+++ b/contributions/.idea/modules/javaJsonJava10/javaJsonJava10_main.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaJsonJava10/javaJsonJava10_test.iml b/contributions/.idea/modules/javaJsonJava10/javaJsonJava10_test.iml
new file mode 100644
index 00000000..6768fe6a
--- /dev/null
+++ b/contributions/.idea/modules/javaJsonJava10/javaJsonJava10_test.iml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaLexer/javaLexer.iml b/contributions/.idea/modules/javaLexer/javaLexer.iml
new file mode 100644
index 00000000..612e9c49
--- /dev/null
+++ b/contributions/.idea/modules/javaLexer/javaLexer.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaLexer/javaLexer_main.iml b/contributions/.idea/modules/javaLexer/javaLexer_main.iml
new file mode 100644
index 00000000..d8a52806
--- /dev/null
+++ b/contributions/.idea/modules/javaLexer/javaLexer_main.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaLexer/javaLexer_test.iml b/contributions/.idea/modules/javaLexer/javaLexer_test.iml
new file mode 100644
index 00000000..53808a5c
--- /dev/null
+++ b/contributions/.idea/modules/javaLexer/javaLexer_test.iml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaMessaging/javaMessaging.iml b/contributions/.idea/modules/javaMessaging/javaMessaging.iml
new file mode 100644
index 00000000..91068fc5
--- /dev/null
+++ b/contributions/.idea/modules/javaMessaging/javaMessaging.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaMessaging/javaMessaging_main.iml b/contributions/.idea/modules/javaMessaging/javaMessaging_main.iml
new file mode 100644
index 00000000..382d617f
--- /dev/null
+++ b/contributions/.idea/modules/javaMessaging/javaMessaging_main.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaMessaging/javaMessaging_test.iml b/contributions/.idea/modules/javaMessaging/javaMessaging_test.iml
new file mode 100644
index 00000000..85be7f0b
--- /dev/null
+++ b/contributions/.idea/modules/javaMessaging/javaMessaging_test.iml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaMultithreading/javaMultithreading.iml b/contributions/.idea/modules/javaMultithreading/javaMultithreading.iml
new file mode 100644
index 00000000..67e3504f
--- /dev/null
+++ b/contributions/.idea/modules/javaMultithreading/javaMultithreading.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaMultithreading/javaMultithreading_main.iml b/contributions/.idea/modules/javaMultithreading/javaMultithreading_main.iml
new file mode 100644
index 00000000..67bf24be
--- /dev/null
+++ b/contributions/.idea/modules/javaMultithreading/javaMultithreading_main.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaMultithreading/javaMultithreading_test.iml b/contributions/.idea/modules/javaMultithreading/javaMultithreading_test.iml
new file mode 100644
index 00000000..59cdf751
--- /dev/null
+++ b/contributions/.idea/modules/javaMultithreading/javaMultithreading_test.iml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaParseLib/javaParseLib.iml b/contributions/.idea/modules/javaParseLib/javaParseLib.iml
new file mode 100644
index 00000000..16be3ced
--- /dev/null
+++ b/contributions/.idea/modules/javaParseLib/javaParseLib.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaParseLib/javaParseLib_main.iml b/contributions/.idea/modules/javaParseLib/javaParseLib_main.iml
new file mode 100644
index 00000000..4d2c3dd4
--- /dev/null
+++ b/contributions/.idea/modules/javaParseLib/javaParseLib_main.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaParseLib/javaParseLib_test.iml b/contributions/.idea/modules/javaParseLib/javaParseLib_test.iml
new file mode 100644
index 00000000..adc12843
--- /dev/null
+++ b/contributions/.idea/modules/javaParseLib/javaParseLib_test.iml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaParser/javaParser.iml b/contributions/.idea/modules/javaParser/javaParser.iml
new file mode 100644
index 00000000..be3f0b69
--- /dev/null
+++ b/contributions/.idea/modules/javaParser/javaParser.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaParser/javaParser_main.iml b/contributions/.idea/modules/javaParser/javaParser_main.iml
new file mode 100644
index 00000000..eea8d2e4
--- /dev/null
+++ b/contributions/.idea/modules/javaParser/javaParser_main.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaParser/javaParser_test.iml b/contributions/.idea/modules/javaParser/javaParser_test.iml
new file mode 100644
index 00000000..60b00adf
--- /dev/null
+++ b/contributions/.idea/modules/javaParser/javaParser_test.iml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaReflection/javaReflection.iml b/contributions/.idea/modules/javaReflection/javaReflection.iml
new file mode 100644
index 00000000..8470b575
--- /dev/null
+++ b/contributions/.idea/modules/javaReflection/javaReflection.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaReflection/javaReflection_main.iml b/contributions/.idea/modules/javaReflection/javaReflection_main.iml
new file mode 100644
index 00000000..12db3354
--- /dev/null
+++ b/contributions/.idea/modules/javaReflection/javaReflection_main.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaReflection/javaReflection_test.iml b/contributions/.idea/modules/javaReflection/javaReflection_test.iml
new file mode 100644
index 00000000..de7ae4c6
--- /dev/null
+++ b/contributions/.idea/modules/javaReflection/javaReflection_test.iml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaScanner/javaScanner.iml b/contributions/.idea/modules/javaScanner/javaScanner.iml
new file mode 100644
index 00000000..5eee19de
--- /dev/null
+++ b/contributions/.idea/modules/javaScanner/javaScanner.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaScanner/javaScanner_main.iml b/contributions/.idea/modules/javaScanner/javaScanner_main.iml
new file mode 100644
index 00000000..9fc94196
--- /dev/null
+++ b/contributions/.idea/modules/javaScanner/javaScanner_main.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaScanner/javaScanner_test.iml b/contributions/.idea/modules/javaScanner/javaScanner_test.iml
new file mode 100644
index 00000000..bf382de2
--- /dev/null
+++ b/contributions/.idea/modules/javaScanner/javaScanner_test.iml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaStatic/javaStatic.iml b/contributions/.idea/modules/javaStatic/javaStatic.iml
new file mode 100644
index 00000000..d90d25d4
--- /dev/null
+++ b/contributions/.idea/modules/javaStatic/javaStatic.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaStatic/javaStatic_main.iml b/contributions/.idea/modules/javaStatic/javaStatic_main.iml
new file mode 100644
index 00000000..95acc3b2
--- /dev/null
+++ b/contributions/.idea/modules/javaStatic/javaStatic_main.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaStatic/javaStatic_test.iml b/contributions/.idea/modules/javaStatic/javaStatic_test.iml
new file mode 100644
index 00000000..ea5d89b0
--- /dev/null
+++ b/contributions/.idea/modules/javaStatic/javaStatic_test.iml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaStringTemplate/javaStringTemplate.iml b/contributions/.idea/modules/javaStringTemplate/javaStringTemplate.iml
new file mode 100644
index 00000000..86e7a21a
--- /dev/null
+++ b/contributions/.idea/modules/javaStringTemplate/javaStringTemplate.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaStringTemplate/javaStringTemplate_main.iml b/contributions/.idea/modules/javaStringTemplate/javaStringTemplate_main.iml
new file mode 100644
index 00000000..133d1988
--- /dev/null
+++ b/contributions/.idea/modules/javaStringTemplate/javaStringTemplate_main.iml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaStringTemplate/javaStringTemplate_test.iml b/contributions/.idea/modules/javaStringTemplate/javaStringTemplate_test.iml
new file mode 100644
index 00000000..bdbb3312
--- /dev/null
+++ b/contributions/.idea/modules/javaStringTemplate/javaStringTemplate_test.iml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaSyb/javaSyb.iml b/contributions/.idea/modules/javaSyb/javaSyb.iml
new file mode 100644
index 00000000..20ad7a70
--- /dev/null
+++ b/contributions/.idea/modules/javaSyb/javaSyb.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaSyb/javaSyb_main.iml b/contributions/.idea/modules/javaSyb/javaSyb_main.iml
new file mode 100644
index 00000000..26ec02b8
--- /dev/null
+++ b/contributions/.idea/modules/javaSyb/javaSyb_main.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaSyb/javaSyb_test.iml b/contributions/.idea/modules/javaSyb/javaSyb_test.iml
new file mode 100644
index 00000000..24a866a2
--- /dev/null
+++ b/contributions/.idea/modules/javaSyb/javaSyb_test.iml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaTemplate/javaTemplate.iml b/contributions/.idea/modules/javaTemplate/javaTemplate.iml
new file mode 100644
index 00000000..3894f4f8
--- /dev/null
+++ b/contributions/.idea/modules/javaTemplate/javaTemplate.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaTemplate/javaTemplate_main.iml b/contributions/.idea/modules/javaTemplate/javaTemplate_main.iml
new file mode 100644
index 00000000..1719f045
--- /dev/null
+++ b/contributions/.idea/modules/javaTemplate/javaTemplate_main.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaTemplate/javaTemplate_test.iml b/contributions/.idea/modules/javaTemplate/javaTemplate_test.iml
new file mode 100644
index 00000000..531cb318
--- /dev/null
+++ b/contributions/.idea/modules/javaTemplate/javaTemplate_test.iml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaVisitor/javaVisitor.iml b/contributions/.idea/modules/javaVisitor/javaVisitor.iml
new file mode 100644
index 00000000..320f7d63
--- /dev/null
+++ b/contributions/.idea/modules/javaVisitor/javaVisitor.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaVisitor/javaVisitor_main.iml b/contributions/.idea/modules/javaVisitor/javaVisitor_main.iml
new file mode 100644
index 00000000..35e5c4d8
--- /dev/null
+++ b/contributions/.idea/modules/javaVisitor/javaVisitor_main.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/javaVisitor/javaVisitor_test.iml b/contributions/.idea/modules/javaVisitor/javaVisitor_test.iml
new file mode 100644
index 00000000..92fc7bf4
--- /dev/null
+++ b/contributions/.idea/modules/javaVisitor/javaVisitor_test.iml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/jaxbChoice/jaxbChoice.iml b/contributions/.idea/modules/jaxbChoice/jaxbChoice.iml
new file mode 100644
index 00000000..26cf2f52
--- /dev/null
+++ b/contributions/.idea/modules/jaxbChoice/jaxbChoice.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/jaxbChoice/jaxbChoice_main.iml b/contributions/.idea/modules/jaxbChoice/jaxbChoice_main.iml
new file mode 100644
index 00000000..20ba4964
--- /dev/null
+++ b/contributions/.idea/modules/jaxbChoice/jaxbChoice_main.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/jaxbChoice/jaxbChoice_test.iml b/contributions/.idea/modules/jaxbChoice/jaxbChoice_test.iml
new file mode 100644
index 00000000..bf5c0ea0
--- /dev/null
+++ b/contributions/.idea/modules/jaxbChoice/jaxbChoice_test.iml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/jaxbComposition/jaxbComposition.iml b/contributions/.idea/modules/jaxbComposition/jaxbComposition.iml
new file mode 100644
index 00000000..b2ad6070
--- /dev/null
+++ b/contributions/.idea/modules/jaxbComposition/jaxbComposition.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/jaxbComposition/jaxbComposition_main.iml b/contributions/.idea/modules/jaxbComposition/jaxbComposition_main.iml
new file mode 100644
index 00000000..fce21331
--- /dev/null
+++ b/contributions/.idea/modules/jaxbComposition/jaxbComposition_main.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/jaxbComposition/jaxbComposition_test.iml b/contributions/.idea/modules/jaxbComposition/jaxbComposition_test.iml
new file mode 100644
index 00000000..bd969d14
--- /dev/null
+++ b/contributions/.idea/modules/jaxbComposition/jaxbComposition_test.iml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/jaxbExtension/jaxbExtension.iml b/contributions/.idea/modules/jaxbExtension/jaxbExtension.iml
new file mode 100644
index 00000000..b87b6981
--- /dev/null
+++ b/contributions/.idea/modules/jaxbExtension/jaxbExtension.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/jaxbExtension/jaxbExtension_main.iml b/contributions/.idea/modules/jaxbExtension/jaxbExtension_main.iml
new file mode 100644
index 00000000..2ee0fb4f
--- /dev/null
+++ b/contributions/.idea/modules/jaxbExtension/jaxbExtension_main.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/jaxbExtension/jaxbExtension_test.iml b/contributions/.idea/modules/jaxbExtension/jaxbExtension_test.iml
new file mode 100644
index 00000000..454a66dd
--- /dev/null
+++ b/contributions/.idea/modules/jaxbExtension/jaxbExtension_test.iml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/jaxbSubstitution/jaxbSubstitution.iml b/contributions/.idea/modules/jaxbSubstitution/jaxbSubstitution.iml
new file mode 100644
index 00000000..d09ec928
--- /dev/null
+++ b/contributions/.idea/modules/jaxbSubstitution/jaxbSubstitution.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/jaxbSubstitution/jaxbSubstitution_main.iml b/contributions/.idea/modules/jaxbSubstitution/jaxbSubstitution_main.iml
new file mode 100644
index 00000000..16633dc4
--- /dev/null
+++ b/contributions/.idea/modules/jaxbSubstitution/jaxbSubstitution_main.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/jaxbSubstitution/jaxbSubstitution_test.iml b/contributions/.idea/modules/jaxbSubstitution/jaxbSubstitution_test.iml
new file mode 100644
index 00000000..5b730b5c
--- /dev/null
+++ b/contributions/.idea/modules/jaxbSubstitution/jaxbSubstitution_test.iml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/jdom/jdom.iml b/contributions/.idea/modules/jdom/jdom.iml
new file mode 100644
index 00000000..77e0679a
--- /dev/null
+++ b/contributions/.idea/modules/jdom/jdom.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/jdom/jdom_main.iml b/contributions/.idea/modules/jdom/jdom_main.iml
new file mode 100644
index 00000000..224e7c02
--- /dev/null
+++ b/contributions/.idea/modules/jdom/jdom_main.iml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/jdom/jdom_test.iml b/contributions/.idea/modules/jdom/jdom_test.iml
new file mode 100644
index 00000000..c1282454
--- /dev/null
+++ b/contributions/.idea/modules/jdom/jdom_test.iml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/jdomHttp/jdomHttp.iml b/contributions/.idea/modules/jdomHttp/jdomHttp.iml
new file mode 100644
index 00000000..ffb222f7
--- /dev/null
+++ b/contributions/.idea/modules/jdomHttp/jdomHttp.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/jdomHttp/jdomHttp_main.iml b/contributions/.idea/modules/jdomHttp/jdomHttp_main.iml
new file mode 100644
index 00000000..d0b04bba
--- /dev/null
+++ b/contributions/.idea/modules/jdomHttp/jdomHttp_main.iml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/jdomHttp/jdomHttp_test.iml b/contributions/.idea/modules/jdomHttp/jdomHttp_test.iml
new file mode 100644
index 00000000..c818bba8
--- /dev/null
+++ b/contributions/.idea/modules/jdomHttp/jdomHttp_test.iml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/jxpath/jxpath.iml b/contributions/.idea/modules/jxpath/jxpath.iml
new file mode 100644
index 00000000..2eb2c9f5
--- /dev/null
+++ b/contributions/.idea/modules/jxpath/jxpath.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/jxpath/jxpath_main.iml b/contributions/.idea/modules/jxpath/jxpath_main.iml
new file mode 100644
index 00000000..627c8619
--- /dev/null
+++ b/contributions/.idea/modules/jxpath/jxpath_main.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/jxpath/jxpath_test.iml b/contributions/.idea/modules/jxpath/jxpath_test.iml
new file mode 100644
index 00000000..c2a15c81
--- /dev/null
+++ b/contributions/.idea/modules/jxpath/jxpath_test.iml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/rxjava/rxjava.iml b/contributions/.idea/modules/rxjava/rxjava.iml
new file mode 100644
index 00000000..6e117664
--- /dev/null
+++ b/contributions/.idea/modules/rxjava/rxjava.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/rxjava/rxjava_main.iml b/contributions/.idea/modules/rxjava/rxjava_main.iml
new file mode 100644
index 00000000..411289d2
--- /dev/null
+++ b/contributions/.idea/modules/rxjava/rxjava_main.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/rxjava/rxjava_test.iml b/contributions/.idea/modules/rxjava/rxjava_test.iml
new file mode 100644
index 00000000..51d5eda4
--- /dev/null
+++ b/contributions/.idea/modules/rxjava/rxjava_test.iml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/sax/sax.iml b/contributions/.idea/modules/sax/sax.iml
new file mode 100644
index 00000000..8b7d628b
--- /dev/null
+++ b/contributions/.idea/modules/sax/sax.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/sax/sax_main.iml b/contributions/.idea/modules/sax/sax_main.iml
new file mode 100644
index 00000000..ff78e7dd
--- /dev/null
+++ b/contributions/.idea/modules/sax/sax_main.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/sax/sax_test.iml b/contributions/.idea/modules/sax/sax_test.iml
new file mode 100644
index 00000000..67a3d462
--- /dev/null
+++ b/contributions/.idea/modules/sax/sax_test.iml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/xom/xom.iml b/contributions/.idea/modules/xom/xom.iml
new file mode 100644
index 00000000..4159b73d
--- /dev/null
+++ b/contributions/.idea/modules/xom/xom.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/xom/xom_main.iml b/contributions/.idea/modules/xom/xom_main.iml
new file mode 100644
index 00000000..d9404c49
--- /dev/null
+++ b/contributions/.idea/modules/xom/xom_main.iml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/xom/xom_test.iml b/contributions/.idea/modules/xom/xom_test.iml
new file mode 100644
index 00000000..67c67b58
--- /dev/null
+++ b/contributions/.idea/modules/xom/xom_test.iml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/xpathAPI/xpathAPI.iml b/contributions/.idea/modules/xpathAPI/xpathAPI.iml
new file mode 100644
index 00000000..20fa00c0
--- /dev/null
+++ b/contributions/.idea/modules/xpathAPI/xpathAPI.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/xpathAPI/xpathAPI_main.iml b/contributions/.idea/modules/xpathAPI/xpathAPI_main.iml
new file mode 100644
index 00000000..12c35bcb
--- /dev/null
+++ b/contributions/.idea/modules/xpathAPI/xpathAPI_main.iml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/modules/xpathAPI/xpathAPI_test.iml b/contributions/.idea/modules/xpathAPI/xpathAPI_test.iml
new file mode 100644
index 00000000..bf135c90
--- /dev/null
+++ b/contributions/.idea/modules/xpathAPI/xpathAPI_test.iml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/vcs.xml b/contributions/.idea/vcs.xml
new file mode 100644
index 00000000..6c0b8635
--- /dev/null
+++ b/contributions/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/.idea/workspace.xml b/contributions/.idea/workspace.xml
new file mode 100644
index 00000000..17e5aba3
--- /dev/null
+++ b/contributions/.idea/workspace.xml
@@ -0,0 +1,7078 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ DEFINITION_ORDER
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Class structureJava
+
+
+ Code maturityJava
+
+
+ Google Web Toolkit
+
+
+ JUnitJava
+
+
+ Java
+
+
+ Java 5Java language level migration aidsJava
+
+
+ Java 7Java language level migration aidsJava
+
+
+ Java 8Java language level migration aidsJava
+
+
+ Java language level migration aidsJava
+
+
+ JavadocJava
+
+
+ Numeric issuesJava
+
+
+ PerformanceJava
+
+
+ Spring
+
+
+ Spring AOPSpring
+
+
+ TestNGJava
+
+
+ Threading issuesJava
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $PROJECT_DIR$/javaJson/README.md
+ $PROJECT_DIR$/javaJson/build.gradle
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1542298130460
+
+
+ 1542298130460
+
+
+
+
+ 1542298417132
+
+
+
+ 1542298417132
+
+
+ 1542307325932
+
+
+
+ 1542307325932
+
+
+ 1542307678559
+
+
+
+ 1542307678559
+
+
+ 1542312407410
+
+
+
+ 1542312407410
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ No facets are configured
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.8
+
+
+
+
+
+
+
+
+
+
+
+ javaJsonJava10_main|javaJsonJava10
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.8
+
+
+
+
+
+
+
+
+
+
+
+ Gradle: com.fasterxml.jackson.core:jackson-annotations:2.4.0
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/contributions.iml b/contributions/contributions.iml
new file mode 100644
index 00000000..1a0d1915
--- /dev/null
+++ b/contributions/contributions.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contributions/javaJson/README.md b/contributions/javaJson/README.md
index fee1299e..651230da 100644
--- a/contributions/javaJson/README.md
+++ b/contributions/javaJson/README.md
@@ -4,4 +4,4 @@ Headline: Process JSON data with Java's javax.json API
Documentation: http://101companies.org/wiki/Contribution:javaJson
-Build instructions: https://github.com/101companies/101simplejava
+Build instructions: https://github.com/101companies/101simplejava
\ No newline at end of file
diff --git a/contributions/javaJson/src/main/java/org/softlang/company/features/Cut.java b/contributions/javaJson/src/main/java/org/softlang/company/features/Cut.java
index 499727f3..a11ea0c7 100644
--- a/contributions/javaJson/src/main/java/org/softlang/company/features/Cut.java
+++ b/contributions/javaJson/src/main/java/org/softlang/company/features/Cut.java
@@ -10,77 +10,77 @@
public class Cut {
- /**
- * @param obj
- * input JSON object
- * @return output JSON object
- */
- public static JsonObject cut(JsonObject obj) {
- JsonObjectBuilder builder = Json.createObjectBuilder();
- for (String key : obj.keySet())
- cut(builder, key, obj.get(key));
- return builder.build();
- }
+ /**
+ * @param obj
+ * input JSON object
+ * @return output JSON object
+ */
+ public static JsonObject cut(JsonObject obj) {
+ JsonObjectBuilder builder = Json.createObjectBuilder();
+ for (String key : obj.keySet())
+ cut(builder, key, obj.get(key));
+ return builder.build();
+ }
- /**
- * @param arr
- * input JSON array
- * @return output JSON array
- */
- public static JsonArray cut(JsonArray arr) {
- JsonArrayBuilder builder = Json.createArrayBuilder();
- for (JsonValue item : arr)
- cut(builder, item);
- return builder.build();
- }
+ /**
+ * @param arr
+ * input JSON array
+ * @return output JSON array
+ */
+ public static JsonArray cut(JsonArray arr) {
+ JsonArrayBuilder builder = Json.createArrayBuilder();
+ for (JsonValue item : arr)
+ cut(builder, item);
+ return builder.build();
+ }
- /**
- * @param builder
- * An object builder to which to add to
- * @param key
- * A key for the input value
- * @param val
- * The input value
- */
- private static void cut(JsonObjectBuilder builder, String key, JsonValue val) {
- switch (val.getValueType()) {
- case NUMBER:
- Double num = ((JsonNumber) val).doubleValue();
- if (key.equals("salary"))
- // Halve salary
- num /= 2;
- builder.add(key, num);
- break;
- case OBJECT:
- builder.add(key, cut((JsonObject) val));
- break;
- case ARRAY:
- builder.add(key, cut((JsonArray) val));
- break;
- default:
- builder.add(key, val);
- break;
- }
- }
+ /**
+ * @param builder
+ * An object builder to which to add to
+ * @param key
+ * A key for the input value
+ * @param val
+ * The input value
+ */
+ private static void cut(JsonObjectBuilder builder, String key, JsonValue val) {
+ switch (val.getValueType()) {
+ case NUMBER:
+ Double num = ((JsonNumber) val).doubleValue();
+ if (key.equals("salary"))
+ // Halve salary
+ num /= 2;
+ builder.add(key, num);
+ break;
+ case OBJECT:
+ builder.add(key, cut((JsonObject) val));
+ break;
+ case ARRAY:
+ builder.add(key, cut((JsonArray) val));
+ break;
+ default:
+ builder.add(key, val);
+ break;
+ }
+ }
- /**
- * @param builder
- * An array builder to which to add to
- * @param val
- * The input value
- */
- private static void cut(JsonArrayBuilder builder, JsonValue val) {
- switch (val.getValueType()) {
- case OBJECT:
- builder.add(cut((JsonObject) val));
- break;
- case ARRAY:
- builder.add(cut((JsonArray) val));
- break;
- default:
- builder.add(val);
- break;
- }
- }
+ /**
+ * @param builder
+ * An array builder to which to add to
+ * @param val
+ * The input value
+ */
+ private static void cut(JsonArrayBuilder builder, JsonValue val) {
+ switch (val.getValueType()) {
+ case OBJECT:
+ builder.add(cut((JsonObject) val));
+ break;
+ case ARRAY:
+ builder.add(cut((JsonArray) val));
+ break;
+ default:
+ builder.add(val);
+ break;
+ }
+ }
}
\ No newline at end of file
diff --git a/contributions/javaJson/src/main/java/org/softlang/company/features/Parsing.java b/contributions/javaJson/src/main/java/org/softlang/company/features/Parsing.java
index e2f56716..b6aae79d 100644
--- a/contributions/javaJson/src/main/java/org/softlang/company/features/Parsing.java
+++ b/contributions/javaJson/src/main/java/org/softlang/company/features/Parsing.java
@@ -9,13 +9,13 @@
public class Parsing {
- public static JsonObject parseCompany(String file) throws IOException {
- InputStream fis = new FileInputStream(file);
- JsonReader jsonReader = Json.createReader(fis);
- JsonObject jsonObject = jsonReader.readObject();
- jsonReader.close();
- fis.close();
- return jsonObject;
- }
+ public static JsonObject parseCompany(String file) throws IOException {
+ InputStream fis = new FileInputStream(file);
+ JsonReader jsonReader = Json.createReader(fis);
+ JsonObject jsonObject = jsonReader.readObject();
+ jsonReader.close();
+ fis.close();
+ return jsonObject;
+ }
}
\ No newline at end of file
diff --git a/contributions/javaJson/src/main/java/org/softlang/company/features/Total.java b/contributions/javaJson/src/main/java/org/softlang/company/features/Total.java
index 3c873e5b..4db17327 100644
--- a/contributions/javaJson/src/main/java/org/softlang/company/features/Total.java
+++ b/contributions/javaJson/src/main/java/org/softlang/company/features/Total.java
@@ -7,58 +7,58 @@
public class Total {
- /**
- * @param obj
- * JSON object to traverse
- * @return salary total
- */
- public static double total(JsonObject obj) {
- return total(null, obj);
- }
+ /**
+ * @param obj
+ * JSON object to traverse
+ * @return salary total
+ */
+ public static double total(JsonObject obj) {
+ return total(null, obj);
+ }
- /**
- * @param key1
- * key for the value at hand
- * @param val1
- * JSON value to traverse
- * @return salary total
- */
- private static double total(String key1, JsonValue val1) {
+ /**
+ * @param key1
+ * key for the value at hand
+ * @param val1
+ * JSON value to traverse
+ * @return salary total
+ */
+ private static double total(String key1, JsonValue val1) {
- double sum = 0;
+ double sum = 0;
- switch (val1.getValueType()) {
+ switch (val1.getValueType()) {
- case NUMBER:
- if (key1 != null && key1.equals("salary")) {
- // Aggregate salaries
- Double salary = ((JsonNumber) val1).doubleValue();
- sum += salary;
- }
- // Otherwise skip numbers
- break;
+ case NUMBER:
+ if (key1 != null && key1.equals("salary")) {
+ // Aggregate salaries
+ Double salary = ((JsonNumber) val1).doubleValue();
+ sum += salary;
+ }
+ // Otherwise skip numbers
+ break;
- case ARRAY:
- // Iterate over array items
- for (JsonValue item : (JsonArray) val1)
- sum += total(key1, item);
- break;
+ case ARRAY:
+ // Iterate over array items
+ for (JsonValue item : (JsonArray) val1)
+ sum += total(key1, item);
+ break;
- case OBJECT:
- // Iterate over inner JSON objects
- JsonObject obj = (JsonObject) val1;
- for (String key2 : obj.keySet()) {
- JsonValue val2 = obj.get(key2);
- sum += total(key2, val2);
- }
- break;
+ case OBJECT:
+ // Iterate over inner JSON objects
+ JsonObject obj = (JsonObject) val1;
+ for (String key2 : obj.keySet()) {
+ JsonValue val2 = obj.get(key2);
+ sum += total(key2, val2);
+ }
+ break;
- default:
- // Skip all other values
- break;
- }
+ default:
+ // Skip all other values
+ break;
+ }
- return sum;
- }
+ return sum;
+ }
}
\ No newline at end of file
diff --git a/contributions/javaJson/src/test/java/org/softlang/company/tests/CutTest.java b/contributions/javaJson/src/test/java/org/softlang/company/tests/CutTest.java
index 889588df..a0c7c305 100644
--- a/contributions/javaJson/src/test/java/org/softlang/company/tests/CutTest.java
+++ b/contributions/javaJson/src/test/java/org/softlang/company/tests/CutTest.java
@@ -12,18 +12,18 @@
public class CutTest {
- private JsonObject jsonObject;
-
- @Before
- public void init() throws IOException {
- jsonObject = parseCompany(sampleCompany);
- }
+ private JsonObject jsonObject;
- @Test
- public void testCut() {
- double total1 = total(jsonObject);
- double total2 = total(cut(jsonObject));
- assertEquals(total1/2, total2, 0.0);
- }
+ @Before
+ public void init() throws IOException {
+ jsonObject = parseCompany(sampleCompany);
+ }
+
+ @Test
+ public void testCut() {
+ double total1 = total(jsonObject);
+ double total2 = total(cut(jsonObject));
+ assertEquals(total1/2, total2, 0.0);
+ }
}
\ No newline at end of file
diff --git a/contributions/javaJson/src/test/java/org/softlang/company/tests/ParsingTest.java b/contributions/javaJson/src/test/java/org/softlang/company/tests/ParsingTest.java
index dee3219c..6dfbfdbf 100644
--- a/contributions/javaJson/src/test/java/org/softlang/company/tests/ParsingTest.java
+++ b/contributions/javaJson/src/test/java/org/softlang/company/tests/ParsingTest.java
@@ -7,11 +7,11 @@
public class ParsingTest {
- public static String sampleCompany = "inputs" + File.separator + "sampleCompany.json";
+ public static String sampleCompany = "inputs" + File.separator + "sampleCompany.json";
- @Test
- public void testParsing() throws IOException {
- parseCompany(sampleCompany);
- }
+ @Test
+ public void testParsing() throws IOException {
+ parseCompany(sampleCompany);
+ }
}
\ No newline at end of file
diff --git a/contributions/javaJson/src/test/java/org/softlang/company/tests/TotalTest.java b/contributions/javaJson/src/test/java/org/softlang/company/tests/TotalTest.java
index e7ba12d8..65513f78 100644
--- a/contributions/javaJson/src/test/java/org/softlang/company/tests/TotalTest.java
+++ b/contributions/javaJson/src/test/java/org/softlang/company/tests/TotalTest.java
@@ -11,17 +11,17 @@
public class TotalTest {
- private JsonObject jsonObject;
-
- @Before
- public void init() throws IOException {
- jsonObject = parseCompany(sampleCompany);
- }
+ private JsonObject jsonObject;
- @Test
- public void testTotal() {
- double total = total(jsonObject);
- assertEquals(326927.0, total, 0.0);
- }
+ @Before
+ public void init() throws IOException {
+ jsonObject = parseCompany(sampleCompany);
+ }
+
+ @Test
+ public void testTotal() {
+ double total = total(jsonObject);
+ assertEquals(326927.0, total, 0.0);
+ }
}
\ No newline at end of file
diff --git a/contributions/javaJsonJava10/README.md b/contributions/javaJsonJava10/README.md
new file mode 100644
index 00000000..96c50c0d
--- /dev/null
+++ b/contributions/javaJsonJava10/README.md
@@ -0,0 +1,71 @@
+#This is an implementation of the 101companies System.
+
+## Headline:
+Process JSON data with Java's javax.json API
+
+## Characteristics:
+See Contribution:dom and Contribution:jdom for a general motivation for exercising in-memory XML processing.
+The present contribution simply commits to JSON instead of XML.
+
+## Illustration:
+####Code snippet 1 (Lambda Expression):
+```
+obj.keySet().forEach(key -> cut(builder, key, obj.get(key)));
+```
+This snippet iterates over all keys of a key set and calls the cut method on each key.
+
+####Code snippet 2 (Stream API + Fluent API):
+```
+sum += ((JsonArray) val1)
+ .stream()
+ .map(item -> total(key1, item))
+ .reduce(0.0, (t1, t2) -> t1 + t2);
+```
+This snippet transforms an object of type JsonArray to a stream and
+applies the total method on each item of the stream. Starting with zero,
+the result of the total method is recursively added to the next item in the stream.
+The result is the sum of all values returned by the total method.
+
+####Code snippet 3 (Parsing JSON file):
+```
+ public static JsonObject parseCompany(String file) throws IOException
+ {
+ JsonReader jsonReader = Json.createReader(new FileInputStream(file));
+ JsonObject jsonObject = jsonReader.readObject();
+ jsonReader.close();
+ return jsonObject;
+ }
+```
+This snippet creates a JsonReader and reads a given JSON file to create a JsonObject.
+
+
+## Relationships:
+Similar methods are used in the Contribution:javaJsonHttp.
+Contribution:javaJsonHttp uses HTTP-based access to the input data instead of going through the file system.
+
+## Architecture:
+The contribution is built with the gradle build system so it corresponds to its standard architecture.
+Classes for production are localed in the main directory and classes for test are localed in the test directory.
+Json files are found in the inputs directory.
+
+## Usage:
+This contribution is built using Gradle, check [this](https://docs.gradle.org/current/userguide/embedding.html) site for an offical plugin for your IDE.
+When using an official Plugin, just download this repo and import the contribution with your IDE.
+
+## Metadata:
+ Cotribution:javaJson
+ Language:Java10
+ Technology:javax.json
+ Technology:Lambda Expression
+ Technology:Stream API
+ Technology:Fluent API
+ Feature:Company
+ Feature:Total
+ Feature:Cut
+ Feature:Serialization
+
+See also: [javax.json documentation](https://docs.oracle.com/javaee/7/api/javax/json/package-summary.html), [java stream API documentation](https://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html), [java lambda expressions tutorial](https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html)
+
+Documentation: http://101companies.org/wiki/Contribution:javaJson
+
+Build instructions: https://github.com/101companies/101simplejava
diff --git a/contributions/javaJsonJava10/build.gradle b/contributions/javaJsonJava10/build.gradle
new file mode 100644
index 00000000..e8239423
--- /dev/null
+++ b/contributions/javaJsonJava10/build.gradle
@@ -0,0 +1,16 @@
+apply plugin: 'java'
+apply plugin: 'eclipse'
+
+group = 'org.softlang.company'
+version = '1.0.0'
+
+// Implementation specifics
+// This implementation uses JSON for data representation.
+// This implementation uses JUnit for testing.
+dependencies {
+ // compile group: 'org.glassfish', name: 'javax.json', version: '1.0.4'
+ compile group: 'org.glassfish', name: 'javax.json', version: '1.1.4'
+
+ // testCompile group: 'junit', name: 'junit', version: '4.11+'
+ testCompile group: 'junit', name: 'junit', version: '4.4'
+}
diff --git a/contributions/javaJsonJava10/inputs/companyWithNegSalary.json b/contributions/javaJsonJava10/inputs/companyWithNegSalary.json
new file mode 100644
index 00000000..1b982cc7
--- /dev/null
+++ b/contributions/javaJsonJava10/inputs/companyWithNegSalary.json
@@ -0,0 +1,41 @@
+{
+ "name" : "Test Corporation",
+ "departments" : [
+ {
+ "name" : "Research",
+ "manager" : {
+ "name" : "Fred",
+ "salary" : -88888
+ }
+ },
+ {
+ "name" : "Development",
+ "manager" : {
+ "name" : "Marie",
+ "salary" : -77777
+ },
+ "departments" : [
+ {
+ "name" : "Dev1",
+ "manager" : {
+ "name" : "Bob",
+ "salary" : -77776
+ }
+ },
+ {
+ "name" : "Dev2",
+ "manager" : {
+ "name" : "Alice",
+ "salary" : -77775
+ },
+ "employees" : [
+ {
+ "name" : "Ralf",
+ "salary" : -4711
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/contributions/javaJsonJava10/inputs/companyWithZeroSalary.json b/contributions/javaJsonJava10/inputs/companyWithZeroSalary.json
new file mode 100644
index 00000000..2daf7839
--- /dev/null
+++ b/contributions/javaJsonJava10/inputs/companyWithZeroSalary.json
@@ -0,0 +1,41 @@
+{
+ "name" : "Acme Corporation",
+ "departments" : [
+ {
+ "name" : "Research",
+ "manager" : {
+ "name" : "Fred",
+ "salary" : 0
+ }
+ },
+ {
+ "name" : "Development",
+ "manager" : {
+ "name" : "Marie",
+ "salary" : 0
+ },
+ "departments" : [
+ {
+ "name" : "Dev1",
+ "manager" : {
+ "name" : "Bob",
+ "salary" : 0
+ }
+ },
+ {
+ "name" : "Dev2",
+ "manager" : {
+ "name" : "Alice",
+ "salary" : 0
+ },
+ "employees" : [
+ {
+ "name" : "Ralf",
+ "salary" : 0
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/contributions/javaJsonJava10/inputs/emptyCompany.json b/contributions/javaJsonJava10/inputs/emptyCompany.json
new file mode 100644
index 00000000..9e26dfee
--- /dev/null
+++ b/contributions/javaJsonJava10/inputs/emptyCompany.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/contributions/javaJsonJava10/inputs/emptyFile.json b/contributions/javaJsonJava10/inputs/emptyFile.json
new file mode 100644
index 00000000..e69de29b
diff --git a/contributions/javaJsonJava10/inputs/sampleCompany.json b/contributions/javaJsonJava10/inputs/sampleCompany.json
new file mode 100644
index 00000000..968e8a89
--- /dev/null
+++ b/contributions/javaJsonJava10/inputs/sampleCompany.json
@@ -0,0 +1,41 @@
+{
+ "name" : "Acme Corporation",
+ "departments" : [
+ {
+ "name" : "Research",
+ "manager" : {
+ "name" : "Fred",
+ "salary" : 88888
+ }
+ },
+ {
+ "name" : "Development",
+ "manager" : {
+ "name" : "Marie",
+ "salary" : 77777
+ },
+ "departments" : [
+ {
+ "name" : "Dev1",
+ "manager" : {
+ "name" : "Bob",
+ "salary" : 77776
+ }
+ },
+ {
+ "name" : "Dev2",
+ "manager" : {
+ "name" : "Alice",
+ "salary" : 77775
+ },
+ "employees" : [
+ {
+ "name" : "Ralf",
+ "salary" : 4711
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/contributions/javaJsonJava10/src/main/java/org/softlang/company/features/Cut.java b/contributions/javaJsonJava10/src/main/java/org/softlang/company/features/Cut.java
new file mode 100644
index 00000000..0c83ae25
--- /dev/null
+++ b/contributions/javaJsonJava10/src/main/java/org/softlang/company/features/Cut.java
@@ -0,0 +1,110 @@
+package org.softlang.company.features;
+
+import javax.json.Json;
+import javax.json.JsonArray;
+import javax.json.JsonArrayBuilder;
+import javax.json.JsonNumber;
+import javax.json.JsonObject;
+import javax.json.JsonObjectBuilder;
+import javax.json.JsonValue;
+
+public class Cut
+{
+ private static final String SALARY = "salary";
+
+ /**
+ * Executes the cut method on every key in a json object. Returns the updated JSON object.
+ *
+ * @param obj input JSON object
+ * @return output updated JSON object
+ */
+ public static JsonObject cut(JsonObject obj)
+ {
+ JsonObjectBuilder builder = Json.createObjectBuilder();
+
+ obj.keySet().forEach(key -> cut(builder, key, obj.get(key)));
+
+ return builder.build();
+ }
+
+ /**
+ * Executes the cut method for every item in a json array. Returns the updated JSON array object.
+ *
+ * @param arr input JSON array
+ * @return updated output JSON array
+ */
+ public static JsonArray cut(JsonArray arr)
+ {
+ JsonArrayBuilder builder = Json.createArrayBuilder();
+
+ arr.forEach(item -> cut(builder, item));
+
+ return builder.build();
+ }
+
+ /**
+ * Method which halves numeric values of a "salary" key and adds it to the builder object.
+ * If it encounters a value of type json object or json array recursively goes deeper and searches for numeric values.
+ * Otherwise if none of the given types match the value type nothing is changed and the key-value pair is added to the builder-object.
+ *
+ * @param builder An object builder to which to add to
+ * @param key A key for the input value
+ * @param val The input value
+ *
+ * @throws ArithmeticException when a salary is negative
+ */
+ private static void cut(JsonObjectBuilder builder, String key, JsonValue val) throws ArithmeticException
+ {
+ switch( val.getValueType() )
+ {
+ case NUMBER:
+ Double num = ((JsonNumber) val).doubleValue();
+ if( key.equals(SALARY) )
+ // Halve salary
+ {
+ if( num < 0 )
+ {
+ throw new ArithmeticException();
+ }
+ else
+ {
+ num /= 2;
+ }
+ }
+ builder.add(key, num);
+ break;
+ case OBJECT:
+ builder.add(key, cut((JsonObject) val));
+ break;
+ case ARRAY:
+ builder.add(key, cut((JsonArray) val));
+ break;
+ default:
+ builder.add(key, val);
+ break;
+ }
+ }
+
+ /**
+ * Method decides depending on the value type which cut-method should be executed and adds the result to the builder-object.
+ *
+ * @param builder An array builder to which to add to
+ * @param val The input value
+ */
+ private static void cut(JsonArrayBuilder builder, JsonValue val)
+ {
+ switch( val.getValueType() )
+ {
+ case OBJECT:
+ builder.add(cut((JsonObject) val));
+ break;
+ case ARRAY:
+ builder.add(cut((JsonArray) val));
+ break;
+ default:
+ builder.add(val);
+ break;
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/contributions/javaJsonJava10/src/main/java/org/softlang/company/features/Parsing.java b/contributions/javaJsonJava10/src/main/java/org/softlang/company/features/Parsing.java
new file mode 100644
index 00000000..acdda794
--- /dev/null
+++ b/contributions/javaJsonJava10/src/main/java/org/softlang/company/features/Parsing.java
@@ -0,0 +1,28 @@
+package org.softlang.company.features;
+
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import javax.json.Json;
+import javax.json.JsonObject;
+import javax.json.JsonReader;
+
+public class Parsing
+{
+ /**
+ * Method reads the given file and converts it to a suitable JSON object, then returns it.
+ *
+ * @param file JSON file with object structure
+ * @return JsonObject with object structure
+ * @throws IOException
+ */
+
+ public static JsonObject parseCompany(String file) throws IOException
+ {
+ JsonReader jsonReader = Json.createReader(new FileInputStream(file));
+ JsonObject jsonObject = jsonReader.readObject();
+ jsonReader.close();
+ return jsonObject;
+ }
+
+}
\ No newline at end of file
diff --git a/contributions/javaJsonJava10/src/main/java/org/softlang/company/features/Total.java b/contributions/javaJsonJava10/src/main/java/org/softlang/company/features/Total.java
new file mode 100644
index 00000000..a41aadb4
--- /dev/null
+++ b/contributions/javaJsonJava10/src/main/java/org/softlang/company/features/Total.java
@@ -0,0 +1,85 @@
+package org.softlang.company.features;
+
+import java.util.Optional;
+import javax.json.JsonArray;
+import javax.json.JsonNumber;
+import javax.json.JsonObject;
+import javax.json.JsonValue;
+
+public class Total
+{
+ private static final String SALARY = "salary";
+
+ /**
+ * Executes total-method with null as key and the given JSON object.
+ *
+ * @param obj JSON object to traverse
+ * @return salary total
+ */
+ public static double total(JsonObject obj)
+ {
+ return total(null, obj);
+ }
+
+ /**
+ * Method which adds up numeric values of a "salary" key.
+ * If it encounters a value of type json object or json array recursively goes deeper and searches for numeric values to determine the total salary.
+ * Otherwise if none of the given types match the value type the key-value pair is skipped.
+ *
+ * @param key1 key for the value at hand
+ * @param val1 JSON value to traverse
+ * @return salary total
+ * @throws ArithmeticException when a salary is negative
+ */
+ private static double total(String key1, JsonValue val1) throws ArithmeticException
+ {
+ double sum = 0;
+
+ switch( val1.getValueType() )
+ {
+ case NUMBER:
+ if( Optional.ofNullable(key1).isPresent() && key1.equals(SALARY) )
+ {
+ // Aggregate salaries
+ Double salary = ((JsonNumber) val1).doubleValue();
+ if( salary < 0 )
+ {
+ throw new ArithmeticException();
+ }
+ else
+ {
+ sum += salary;
+ }
+ }
+ // Otherwise skip numbers
+ break;
+
+ case ARRAY:
+ // Iterate over array items and adding aggregated value to sum
+ sum += ((JsonArray) val1)
+ .stream()
+ .map(item -> total(key1, item))
+ .reduce(0.0, (t1, t2) -> t1 + t2);
+
+ break;
+
+ case OBJECT:
+ // Iterate over inner JSON objects and adding aggregated value to sum
+ JsonObject obj = (JsonObject) val1;
+
+ sum += obj.keySet()
+ .stream()
+ .map(key2 -> total(key2, obj.get(key2)))
+ .reduce(0.0, (t1, t2) -> t1 + t2);
+
+ break;
+
+ default:
+ // Skip all other values
+ break;
+ }
+
+ return sum;
+ }
+
+}
\ No newline at end of file
diff --git a/contributions/javaJsonJava10/src/test/java/org/softlang/company/tests/CutTest.java b/contributions/javaJsonJava10/src/test/java/org/softlang/company/tests/CutTest.java
new file mode 100644
index 00000000..42811461
--- /dev/null
+++ b/contributions/javaJsonJava10/src/test/java/org/softlang/company/tests/CutTest.java
@@ -0,0 +1,73 @@
+package org.softlang.company.tests;
+
+import java.io.IOException;
+import javax.json.JsonObject;
+
+import junit.framework.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.softlang.company.features.Cut.cut;
+import static org.softlang.company.features.Parsing.parseCompany;
+import static org.softlang.company.features.Total.total;
+import static org.softlang.company.tests.ParsingTest.companyWithNegSalary;
+import static org.softlang.company.tests.ParsingTest.companyWithZeroSalary;
+import static org.softlang.company.tests.ParsingTest.sampleCompany;
+
+public class CutTest
+{
+ private JsonObject sampleCompanyObj;
+ private JsonObject companyWithZeroSalaryObj;
+ private JsonObject companyWithNegSalaryObj;
+
+ /**
+ * Initialization of a JSON object for tests
+ *
+ * @throws IOException
+ */
+
+ @Before
+ public void init() throws IOException
+ {
+ sampleCompanyObj = parseCompany(sampleCompany);
+ companyWithZeroSalaryObj = parseCompany(companyWithZeroSalary);
+ companyWithNegSalaryObj = parseCompany(companyWithNegSalary);
+ }
+
+ /**
+ * Normal test for cutting salaries of a sample company JSON.
+ * The total salary "total1" is compared to the total salary after it has been cut "total2".
+ * It's expected that total2 should be the half of total1 after executing the cut method.
+ */
+
+ @Test
+ public void testCutNormalCase()
+ {
+ double total1 = total(sampleCompanyObj);
+ double total2 = total(cut(sampleCompanyObj));
+ assertEquals(total1 / 2, total2, 0.0);
+ }
+
+ /**
+ * Edge test for cutting the salary of a company with zero salary.
+ * The expected result is zero.
+ */
+
+ @Test
+ public void testCutEdgeCase()
+ {
+ double total = total(cut(companyWithZeroSalaryObj));
+ assertEquals(total / 2, 0.0, 0.0);
+ }
+
+ /**
+ * Error test for cutting the salary of a company with negative salary which throws an Arithmetic Exception.
+ */
+
+ @Test(expected = ArithmeticException.class)
+ public void testCutErrorCase()
+ {
+ total(cut(companyWithNegSalaryObj));
+ }
+}
\ No newline at end of file
diff --git a/contributions/javaJsonJava10/src/test/java/org/softlang/company/tests/ParsingTest.java b/contributions/javaJsonJava10/src/test/java/org/softlang/company/tests/ParsingTest.java
new file mode 100644
index 00000000..ae41a3c7
--- /dev/null
+++ b/contributions/javaJsonJava10/src/test/java/org/softlang/company/tests/ParsingTest.java
@@ -0,0 +1,67 @@
+package org.softlang.company.tests;
+
+import java.io.File;
+import java.io.IOException;
+import javax.json.JsonException;
+import javax.json.JsonObject;
+
+import org.junit.Test;
+
+import static org.junit.Assert.assertNotNull;
+import static org.softlang.company.features.Parsing.parseCompany;
+
+public class ParsingTest
+{
+
+ public static String sampleCompany = "inputs" + File.separator + "sampleCompany.json";
+ public static String companyWithZeroSalary = "inputs" + File.separator + "companyWithZeroSalary.json";
+ public static String companyWithNegSalary = "inputs" + File.separator + "companyWithNegSalary.json";
+ public static String emptyCompany = "inputs" + File.separator + "emptyCompany.json";
+ public static String emptyFile = "inputs" + File.separator + "emptyFile.json";
+ public static String nonExistentCompany = "";
+
+
+ /**
+ * Normal test for reading a sample company JSON and asserting that it is not null.
+ */
+
+ @Test
+ public void testParsingNormalCase() throws IOException
+ {
+ JsonObject sampleCompanyObject = parseCompany(sampleCompany);
+ assertNotNull(sampleCompanyObject);
+ }
+
+ /**
+ * Edge test for reading a sample company JSON which is empty but not null.
+ * @throws IOException
+ */
+ @Test
+ public void testParsingEdgeCase() throws IOException
+ {
+ JsonObject emptyCompanyObject = parseCompany(emptyCompany);
+ assertNotNull(emptyCompanyObject);
+ }
+
+ /**
+ * Error test for reading a JSON file which is empty. Throws a JsonException.
+ * @throws IOException
+ */
+ @Test(expected = JsonException.class)
+ public void testParsingErrorCase1() throws IOException
+ {
+ parseCompany(emptyFile);
+ }
+
+ /**
+ * Error test which simply tries to read a non existing JSON file and throws an IOException.
+ *
+ * @throws IOException
+ */
+
+ @Test(expected = IOException.class)
+ public void testParsingErrorCase2() throws IOException
+ {
+ parseCompany(nonExistentCompany);
+ }
+}
\ No newline at end of file
diff --git a/contributions/javaJsonJava10/src/test/java/org/softlang/company/tests/TotalTest.java b/contributions/javaJsonJava10/src/test/java/org/softlang/company/tests/TotalTest.java
new file mode 100644
index 00000000..f27e8650
--- /dev/null
+++ b/contributions/javaJsonJava10/src/test/java/org/softlang/company/tests/TotalTest.java
@@ -0,0 +1,68 @@
+package org.softlang.company.tests;
+
+import java.io.IOException;
+import javax.json.JsonObject;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.softlang.company.features.Parsing.parseCompany;
+import static org.softlang.company.features.Total.total;
+import static org.softlang.company.tests.ParsingTest.companyWithNegSalary;
+import static org.softlang.company.tests.ParsingTest.companyWithZeroSalary;
+import static org.softlang.company.tests.ParsingTest.sampleCompany;
+
+public class TotalTest
+{
+
+ private JsonObject sampleCompanyObj;
+ private JsonObject companyWithZeroSalaryObj;
+ private JsonObject companyWithNegSalaryObj;
+
+ /**
+ * Initialization of JSON object for tests
+ *
+ * @throws IOException
+ */
+
+ @Before
+ public void init() throws IOException
+ {
+ sampleCompanyObj = parseCompany(sampleCompany);
+ companyWithZeroSalaryObj = parseCompany(companyWithZeroSalary);
+ companyWithNegSalaryObj = parseCompany(companyWithNegSalary);
+ }
+
+ /**
+ * Normal test for determining the total salary of a JSON object and expecting that it is equal to a given value.
+ */
+
+ @Test
+ public void testTotalNormalCase()
+ {
+ double total = total(sampleCompanyObj);
+ assertEquals(326927.0, total, 0.0);
+ }
+
+ /**
+ * Edge test for determining the total salary of a JSON object with zero salary.
+ */
+
+ @Test
+ public void testTotalEdgeCase()
+ {
+ double total = total(companyWithZeroSalaryObj);
+ assertEquals(total, 0.0, 0.0);
+ }
+
+ /**
+ * Error test for determining the total salary of a JSON object with negative salary, which throws an Arithmetic Exception.
+ */
+
+ @Test(expected = ArithmeticException.class)
+ public void testTotalErrorCase()
+ {
+ total(companyWithNegSalaryObj);
+ }
+}
\ No newline at end of file
diff --git a/contributions/settings.gradle b/contributions/settings.gradle
index b78bc2ee..7cbefcd8 100644
--- a/contributions/settings.gradle
+++ b/contributions/settings.gradle
@@ -47,4 +47,6 @@ include 'jxpath'
include 'rxjava'
include 'sax'
include 'xom'
-include 'xpathAPI'
\ No newline at end of file
+include 'xpathAPI'
+include 'javaJsonJava10'
+