Cannot find symbol clone() in interface Cloneable <p>I am trying to clone a list of Cloneables:</p> <pre><code>public static &lt;T extends Cloneable&gt; List&lt;T&gt; cloneList(List&lt;T&gt; list) { List&lt;T&gt; out = new ArrayList&lt;T&gt;(); for(int i=0;i&lt;list.size();i++) { out.add((T)((T)list.get(i)).clone()); } return out; } </code></pre> <p>which throws the error:</p> <pre><code>Helpers.java:40: error: cannot find symbol out.add((T)((T)list.get(i)).clone()); ^ symbol: method clone() location: interface Cloneable </code></pre> <p>Why is that; isn't <code>clone()</code> the single method the <code>Cloneable</code> interface is all about?</p>