// Path: src/java/kt4j/Bytes.java
// public static class ByteArrayWrapper {
//     /**
//      * The byte array that backs this wrapper.
//      */
//     public final byte[] array;
//         
//     /**
//      * Creates a new instance that wraps the specified byte array. 
//      */
//     public ByteArrayWrapper(byte[] array) {
//         this.array = array;
//     }
// 
//     @Override
//     public int hashCode() {
//         return Arrays.hashCode(array);
//     }
// 
//     @Override
//     public boolean equals(Object obj) {
//         if (obj instanceof ByteArrayWrapper) {
//             return Arrays.equals(array, ((ByteArrayWrapper) obj).array);
//         } else {
//             return false;
//         }
//     }
// 
//     @Override
//     public String toString() {
//         return Arrays.toString(array);
//     }
//         
//     /**
//      * Returns the length of this byte array.
//      */
//     public int length() {
//         return array.length;
//     }
// }


import java.util.AbstractMap.SimpleImmutableEntry;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import kt4j.Bytes.ByteArrayWrapper;
        public byte[] get(Object key) {
            if (key instanceof byte[]) {
                Record rec = source.get(new ByteArrayWrapper((byte[]) key));
                if (rec != null) {
                    return rec.value;
                }
            }
            return null;
        }

        @Override
        public Set<byte[]> keySet() {
            HashSet<byte[]> set = new HashSet<byte[]>();
            for (Record rec : source.values()) {
                set.add(rec.key);
            }
            return Collections.unmodifiableSet(set);
        }

        @Override
        public Collection<byte[]> values() {
            HashSet<byte[]> set = new HashSet<byte[]>();
            for (Record rec : source.values()) {
                set.add(rec.value);
            }
            return Collections.unmodifiableSet(set);
        }

        @Override
        public Set<Map.Entry<byte[], byte[]>> entrySet() {
// Path: src/java/kt4j/Bytes.java
// public static class ByteArrayWrapper {
//     /**
//      * The byte array that backs this wrapper.
//      */
//     public final byte[] array;
//         
//     /**
//      * Creates a new instance that wraps the specified byte array. 
//      */
//     public ByteArrayWrapper(byte[] array) {
//         this.array = array;
//     }
// 
//     @Override
//     public int hashCode() {
//         return Arrays.hashCode(array);
//     }
// 
//     @Override
//     public boolean equals(Object obj) {
//         if (obj instanceof ByteArrayWrapper) {
//             return Arrays.equals(array, ((ByteArrayWrapper) obj).array);
//         } else {
//             return false;
//         }
//     }
// 
//     @Override
//     public String toString() {
//         return Arrays.toString(array);
//     }
//         
//     /**
//      * Returns the length of this byte array.
//      */
//     public int length() {
//         return array.length;
//     }
// }


// Path: src/java/kt4j/binary/GetBulkResponse.java
import java.util.AbstractMap.SimpleImmutableEntry;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import kt4j.Bytes.ByteArrayWrapper;

        public byte[] get(Object key) {
            if (key instanceof byte[]) {
                Record rec = source.get(new ByteArrayWrapper((byte[]) key));
                if (rec != null) {
                    return rec.value;
                }
            }
            return null;
        }

        @Override
        public Set<byte[]> keySet() {
            HashSet<byte[]> set = new HashSet<byte[]>();
            for (Record rec : source.values()) {
                set.add(rec.key);
            }
            return Collections.unmodifiableSet(set);
        }

        @Override
        public Collection<byte[]> values() {
            HashSet<byte[]> set = new HashSet<byte[]>();
            for (Record rec : source.values()) {
                set.add(rec.value);
            }
            return Collections.unmodifiableSet(set);
        }

        @Override
        public Set<Map.Entry<byte[], byte[]>> entrySet() {
            HashSet<Map.Entry<byte[], byte[]>> set = new HashSet<Map.Entry<byte[], byte[]>>();