diff --git a/ProtocolLib/.project b/ProtocolLib/.project
index 3b5df9da..a1960c9e 100644
--- a/ProtocolLib/.project
+++ b/ProtocolLib/.project
@@ -15,9 +15,15 @@
+
+ net.sourceforge.metrics.builder
+
+
+
org.eclipse.m2e.core.maven2Nature
org.eclipse.jdt.core.javanature
+ net.sourceforge.metrics.nature
diff --git a/ProtocolLib/src/main/java/com/comphenix/protocol/reflect/cloning/CollectionCloner.java b/ProtocolLib/src/main/java/com/comphenix/protocol/reflect/cloning/CollectionCloner.java
index 3f5c203e..dbb56115 100644
--- a/ProtocolLib/src/main/java/com/comphenix/protocol/reflect/cloning/CollectionCloner.java
+++ b/ProtocolLib/src/main/java/com/comphenix/protocol/reflect/cloning/CollectionCloner.java
@@ -20,6 +20,8 @@ package com.comphenix.protocol.reflect.cloning;
import java.lang.reflect.Array;
import java.lang.reflect.Constructor;
import java.util.Collection;
+import java.util.Map;
+import java.util.Map.Entry;
/**
* Attempts to clone collection and array classes.
@@ -43,9 +45,9 @@ public class CollectionCloner implements Cloner {
return false;
Class> clazz = source.getClass();
- return Collection.class.isAssignableFrom(clazz) || clazz.isArray();
+ return Collection.class.isAssignableFrom(clazz) || Map.class.isAssignableFrom(clazz) || clazz.isArray();
}
-
+
@SuppressWarnings("unchecked")
@Override
public Object clone(Object source) {
@@ -55,31 +57,32 @@ public class CollectionCloner implements Cloner {
Class> clazz = source.getClass();
if (source instanceof Collection) {
- Collection