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;
+	}
+	
+	
+}
