     (when (or (empty? data) (zero? len))
       (throw (IllegalArgumentException.
                "BytesLexicoder cannot decode empty byte arrays")))
-    (if (and (zero? offset) (= len (count data)))
-      data
-      (let [data' (byte-array len)]
-        (System/arraycopy data offset data' 0 len)
-        data'))))
+    (let [data' (byte-array len)]
+      (System/arraycopy data offset data' 0 len)
+      data')))
 
 
 






;; ## Key Construction

(deftype Key

    javax.xml.bind.DatatypeConverter))


;; ## Comparators

(defn- compare-bytes
