title: Java: clone arbitrary Collection through reference to Collection
body: <p>Suppose you've a reference of type <code>java.util.Collection</code> in a method and cannot say what implementation of <code>java.util.Collection</code> will it point to at run time, is it possible to clone the Collection?</p>
  
  <p>I wanted to implement a generic method which will filter any type of collection given. Hence the method will take <code>java.util.Collection</code> as input. However beyond this, I didn't want to modify the original collection, so I wanted to clone the collection.</p>