Why is Savable logic not used for cloning?

I often use something like this:

public <T extends Savable> T cloneSavable(T t) {
try {
ByteArrayOutputStream outputstream = new ByteArrayOutputStream();
BinaryExporter.getInstance().save(t, outputstream);
ByteArrayInputStream in = new ByteArrayInputStream(
BinaryImporter b = new BinaryImporter();
return (T) b.load(in);
} catch (Exception e) {
return null;

It works fine and I dont have to write custom clone logic when I already implemented the Savable logic. Maybe this could be added as a similar static method to the spatial class?

This approach forces a deep clone and is more expensive than a regular clone. Not really good in the general case though maybe worthy of a SavableUtils somewhere.