diff --git a/src/main/java/com/googlesource/gerrit/plugins/task/PredicateCache.java b/src/main/java/com/googlesource/gerrit/plugins/task/PredicateCache.java
index e305d79..3c79982 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/task/PredicateCache.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/task/PredicateCache.java
@@ -33,6 +33,7 @@
 import com.google.inject.Inject;
 import com.googlesource.gerrit.plugins.task.statistics.HitHashMap;
 import com.googlesource.gerrit.plugins.task.statistics.StopWatch;
+import com.googlesource.gerrit.plugins.task.util.ThrowingProvider;
 import java.util.Arrays;
 import java.util.HashSet;
 import java.util.Set;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/task/TaskConfig.java b/src/main/java/com/googlesource/gerrit/plugins/task/TaskConfig.java
index 33ac745..0c3136e 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/task/TaskConfig.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/task/TaskConfig.java
@@ -17,6 +17,7 @@
 import com.google.gerrit.common.Container;
 import com.google.gerrit.entities.BranchNameKey;
 import com.google.gerrit.server.git.meta.AbstractVersionedMetaData;
+import com.googlesource.gerrit.plugins.task.util.Copier;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/task/statistics/HitBooleanTable.java b/src/main/java/com/googlesource/gerrit/plugins/task/statistics/HitBooleanTable.java
index 480551c..2f35084 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/task/statistics/HitBooleanTable.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/task/statistics/HitBooleanTable.java
@@ -15,7 +15,7 @@
 package com.googlesource.gerrit.plugins.task.statistics;
 
 import com.google.gerrit.common.BooleanTable;
-import com.googlesource.gerrit.plugins.task.TopKeyMap;
+import com.googlesource.gerrit.plugins.task.util.TopKeyMap;
 
 /**
  * A space efficient Table for Booleans. This Table takes advantage of the fact that the values
diff --git a/src/main/java/com/googlesource/gerrit/plugins/task/statistics/HitHashMap.java b/src/main/java/com/googlesource/gerrit/plugins/task/statistics/HitHashMap.java
index 11ecaea..ccb12a9 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/task/statistics/HitHashMap.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/task/statistics/HitHashMap.java
@@ -16,7 +16,7 @@
 
 import static java.util.stream.Collectors.toList;
 
-import com.googlesource.gerrit.plugins.task.TopKeyMap;
+import com.googlesource.gerrit.plugins.task.util.TopKeyMap;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/task/statistics/StopWatch.java b/src/main/java/com/googlesource/gerrit/plugins/task/statistics/StopWatch.java
index 52dd24d..05f942b 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/task/statistics/StopWatch.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/task/statistics/StopWatch.java
@@ -15,7 +15,7 @@
 package com.googlesource.gerrit.plugins.task.statistics;
 
 import com.google.common.base.Stopwatch;
-import com.googlesource.gerrit.plugins.task.SamTryWrapper;
+import com.googlesource.gerrit.plugins.task.util.SamTryWrapper;
 import java.util.concurrent.TimeUnit;
 import java.util.function.LongConsumer;
 
diff --git a/src/main/java/com/googlesource/gerrit/plugins/task/Copier.java b/src/main/java/com/googlesource/gerrit/plugins/task/util/Copier.java
similarity index 93%
rename from src/main/java/com/googlesource/gerrit/plugins/task/Copier.java
rename to src/main/java/com/googlesource/gerrit/plugins/task/util/Copier.java
index 10f4048..434a4de 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/task/Copier.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/task/util/Copier.java
@@ -12,12 +12,12 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.googlesource.gerrit.plugins.task;
+package com.googlesource.gerrit.plugins.task.util;
 
 import java.lang.reflect.Field;
 
 public class Copier {
-  protected static <T> void shallowCopyDeclaredFields(
+  public static <T> void shallowCopyDeclaredFields(
       Class<T> cls, T from, T to, boolean includeInaccessible) {
     for (Field field : cls.getDeclaredFields()) {
       try {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/task/SamTryWrapper.java b/src/main/java/com/googlesource/gerrit/plugins/task/util/SamTryWrapper.java
similarity index 97%
rename from src/main/java/com/googlesource/gerrit/plugins/task/SamTryWrapper.java
rename to src/main/java/com/googlesource/gerrit/plugins/task/util/SamTryWrapper.java
index 39679ff..ef42e5a 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/task/SamTryWrapper.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/task/util/SamTryWrapper.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.googlesource.gerrit.plugins.task;
+package com.googlesource.gerrit.plugins.task.util;
 
 import java.util.function.BiConsumer;
 import java.util.function.BiFunction;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/task/ThrowingProvider.java b/src/main/java/com/googlesource/gerrit/plugins/task/util/ThrowingProvider.java
similarity index 95%
rename from src/main/java/com/googlesource/gerrit/plugins/task/ThrowingProvider.java
rename to src/main/java/com/googlesource/gerrit/plugins/task/util/ThrowingProvider.java
index 7644143..3d5197e 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/task/ThrowingProvider.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/task/util/ThrowingProvider.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.googlesource.gerrit.plugins.task;
+package com.googlesource.gerrit.plugins.task.util;
 
 public interface ThrowingProvider<V, E extends Exception> {
   public V get() throws E;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/task/TopKeyMap.java b/src/main/java/com/googlesource/gerrit/plugins/task/util/TopKeyMap.java
similarity index 98%
rename from src/main/java/com/googlesource/gerrit/plugins/task/TopKeyMap.java
rename to src/main/java/com/googlesource/gerrit/plugins/task/util/TopKeyMap.java
index d4b7987..a6627fb 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/task/TopKeyMap.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/task/util/TopKeyMap.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.googlesource.gerrit.plugins.task;
+package com.googlesource.gerrit.plugins.task.util;
 
 /**
  * A TopKeyMap is a lightweight limited size (default 5) map with 'long' keys designed to store only
