[Concurrent] Add DaemonThreadFactory

Change-Id: Ifdcb7f3e9c0fcb04ff17ae3ef070e13c5eff8357
diff --git a/jcommons/org.eclipse.statet.jcommons.util/src/org/eclipse/statet/jcommons/concurrent/CommonThreadFactory.java b/jcommons/org.eclipse.statet.jcommons.util/src/org/eclipse/statet/jcommons/concurrent/CommonThreadFactory.java
index f7297e5..e994110 100644
--- a/jcommons/org.eclipse.statet.jcommons.util/src/org/eclipse/statet/jcommons/concurrent/CommonThreadFactory.java
+++ b/jcommons/org.eclipse.statet.jcommons.util/src/org/eclipse/statet/jcommons/concurrent/CommonThreadFactory.java
@@ -69,7 +69,8 @@
 				buildNamePrefix(threadBaseName, null), NAME_SUFFIX );
 	}
 	
-	public CommonThreadFactory(final ThreadGroup threadGroup, final @Nullable String threadSubGroupName) {
+	public CommonThreadFactory(final ThreadGroup threadGroup,
+			final @Nullable String threadSubGroupName) {
 		this(threadGroup,
 				buildNamePrefix(threadGroup.getName(), threadSubGroupName), NAME_SUFFIX );
 	}
diff --git a/jcommons/org.eclipse.statet.jcommons.util/src/org/eclipse/statet/jcommons/concurrent/DaemonThreadFactory.java b/jcommons/org.eclipse.statet.jcommons.util/src/org/eclipse/statet/jcommons/concurrent/DaemonThreadFactory.java
new file mode 100644
index 0000000..e51a5e4
--- /dev/null
+++ b/jcommons/org.eclipse.statet.jcommons.util/src/org/eclipse/statet/jcommons/concurrent/DaemonThreadFactory.java
@@ -0,0 +1,50 @@
+/*=============================================================================#
+ # Copyright (c) 2020 Stephan Wahlbrink and others.
+ # 
+ # This program and the accompanying materials are made available under the
+ # terms of the Eclipse Public License 2.0 which is available at
+ # https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
+ # which is available at https://www.apache.org/licenses/LICENSE-2.0.
+ # 
+ # SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
+ # 
+ # Contributors:
+ #     Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation
+ #=============================================================================*/
+
+package org.eclipse.statet.jcommons.concurrent;
+
+import org.eclipse.statet.jcommons.lang.NonNullByDefault;
+import org.eclipse.statet.jcommons.lang.Nullable;
+
+
+@NonNullByDefault
+public class DaemonThreadFactory extends CommonThreadFactory {
+	
+	
+	public DaemonThreadFactory(final ThreadGroup threadGroup,
+			final String threadNamePrefix, final String threadNameSuffix) {
+		super(threadGroup, threadNamePrefix, threadNameSuffix);
+	}
+	
+	public DaemonThreadFactory(final String threadBaseName) {
+		super(threadBaseName);
+	}
+	
+	public DaemonThreadFactory(final ThreadGroup threadGroup,
+			final @Nullable String threadSubGroupName) {
+		super(threadGroup, threadSubGroupName);
+	}
+	
+	public DaemonThreadFactory(final ThreadGroup threadGroup) {
+		super(threadGroup);
+	}
+	
+	
+	@Override
+	protected boolean getDaemon() {
+		return true;
+	}
+	
+	
+}