@SuppressWarnings("unchecked") public FastCopyHashMap(Map<? extends K, ? extends V> map) { if (map instanceof FastCopyHashMap) { FastCopyHashMap<? extends K, ? extends V> fast = (FastCopyHashMap<? extends K, ? extends V>) map; this.table = (Entry<K, V>[]) fast.table.clone(); this.loadFactor = fast.loadFactor; this.size = fast.size; this.threshold = fast.threshold; } else { this.loadFactor = DEFAULT_LOAD_FACTOR; init(map.size(), this.loadFactor); putAll(map); } }