if (clazz == null)
return instance;
if (ODocumentSerializable.class.isAssignableFrom(clazz)) {
try {
final ODocumentSerializable documentSerializable = (ODocumentSerializable) clazz.newInstance();
final ODocument docClone = new ODocument();
instance.copyTo(docClone);
docClone.removeField(ODocumentSerializable.CLASS_NAME);
documentSerializable.fromDocument(docClone);
return documentSerializable;
} catch (InstantiationException e) {
throw new OSerializationException("Cannot serialize the object", e);
} catch (IllegalAccessException e) {