Buggy code:
public class MultiKeyMap < K , V > extends AbstractMapDecorator < MultiKey < ? extends K > , V > implements Serializable , Cloneable , IterableMap < MultiKey < ? extends K > , V > { private static final long serialVersionUID = - 1788199231038721040L ; public static < K , V > MultiKeyMap < K , V > multiKeyMap ( final AbstractHashedMap < MultiKey < ? extends K > , V > map ) { } public MultiKeyMap ( ) { } protected MultiKeyMap ( final AbstractHashedMap < MultiKey < ? extends K > , V > map ) { } public V get ( final Object key1 , final Object key2 ) { } public boolean containsKey ( final Object key1 , final Object key2 ) { } public V put ( final K key1 , final K key2 , final V value ) { } public V remove ( final Object key1 , final Object key2 ) { } protected int hash ( final Object key1 , final Object key2 ) { } protected boolean isEqualKey ( final AbstractHashedMap . HashEntry < MultiKey < ? extends K > , V > entry , final Object key1 , final Object key2 ) { } public V get ( final Object key1 , final Object key2 , final Object key3 ) { } public boolean containsKey ( final Object key1 , final Object key2 , final Object key3 ) { } public V put ( final K key1 , final K key2 , final K key3 , final V value ) { } public V remove ( final Object key1 , final Object key2 , final Object key3 ) { } protected int hash ( final Object key1 , final Object key2 , final Object key3 ) { } protected boolean isEqualKey ( final AbstractHashedMap . HashEntry < MultiKey < ? extends K > , V > entry , final Object key1 , final Object key2 , final Object key3 ) { } public V get ( final Object key1 , final Object key2 , final Object key3 , final Object key4 ) { } public boolean containsKey ( final Object key1 , final Object key2 , final Object key3 , final Object key4 ) { } public V put ( final K key1 , final K key2 , final K key3 , final K key4 , final V value ) { } public V remove ( final Object key1 , final Object key2 , final Object key3 , final Object key4 ) { } protected int hash ( final Object key1 , final Object key2 , final Object key3 , final Object key4 ) { } protected boolean isEqualKey ( final AbstractHashedMap . HashEntry < MultiKey < ? extends K > , V > entry , final Object key1 , final Object key2 , final Object key3 , final Object key4 ) { } public V get ( final Object key1 , final Object key2 , final Object key3 , final Object key4 , final Object key5 ) { } public boolean containsKey ( final Object key1 , final Object key2 , final Object key3 , final Object key4 , final Object key5 ) { } public V put ( final K key1 , final K key2 , final K key3 , final K key4 , final K key5 , final V value ) { } public V remove ( final Object key1 , final Object key2 , final Object key3 , final Object key4 , final Object key5 ) { } protected int hash ( final Object key1 , final Object key2 , final Object key3 , final Object key4 , final Object key5 ) { } protected boolean isEqualKey ( final AbstractHashedMap . HashEntry < MultiKey < ? extends K > , V > entry , final Object key1 , final Object key2 , final Object key3 , final Object key4 , final Object key5 ) { } public boolean removeAll ( final Object key1 ) { } public boolean removeAll ( final Object key1 , final Object key2 ) { } public boolean removeAll ( final Object key1 , final Object key2 , final Object key3 ) { } public boolean removeAll ( final Object key1 , final Object key2 , final Object key3 , final Object key4 ) { } protected void checkKey ( final MultiKey < ? > key ) { } @ SuppressWarnings ( "unchecked" ) @ Override public MultiKeyMap < K , V > clone ( ) { try { return ( ( MultiKeyMap < K , V > ) ( super . clone ( ) ) ) ; <START_BUG> } catch ( CloneNotSupportedException e ) { <END_BUG> throw new InternalError ( ) ; } } @ Override public V put ( final MultiKey < ? extends K > key , final V value ) { } @ Override public void putAll ( final Map < ? extends MultiKey < ? extends K > , ? extends V > mapToCopy ) { } @ Override public MapIterator < MultiKey < ? extends K > , V > mapIterator ( ) { } @ Override protected AbstractHashedMap < MultiKey < ? extends K > , V > decorated ( ) { } private void writeObject ( final ObjectOutputStream out ) throws IOException { } @ SuppressWarnings ( "unchecked" ) private void readObject ( final ObjectInputStream in ) throws IOException , ClassNotFoundException { } }

Fix:
} catch ( final CloneNotSupportedException e ) {