1781 |
|
|
1782 |
|
@SuppressWarnings("unchecked") |
1783 |
|
<T> T serialClone(T o) { |
1784 |
+ |
T clone = null; |
1785 |
|
try { |
1786 |
|
ObjectInputStream ois = new ObjectInputStream |
1787 |
|
(new ByteArrayInputStream(serialBytes(o))); |
1788 |
< |
T clone = (T) ois.readObject(); |
1788 |
< |
if (o == clone) assertImmutable(o); |
1789 |
< |
assertSame(o.getClass(), clone.getClass()); |
1790 |
< |
return clone; |
1788 |
> |
clone = (T) ois.readObject(); |
1789 |
|
} catch (Throwable fail) { |
1790 |
|
threadUnexpectedException(fail); |
1793 |
– |
return null; |
1791 |
|
} |
1792 |
+ |
if (o == clone) assertImmutable(o); |
1793 |
+ |
else assertSame(o.getClass(), clone.getClass()); |
1794 |
+ |
return clone; |
1795 |
|
} |
1796 |
|
|
1797 |
|
/** |
1810 |
|
(new ByteArrayInputStream(bos.toByteArray())); |
1811 |
|
T clone = (T) ois.readObject(); |
1812 |
|
if (o == clone) assertImmutable(o); |
1813 |
< |
assertSame(o.getClass(), clone.getClass()); |
1813 |
> |
else assertSame(o.getClass(), clone.getClass()); |
1814 |
|
return clone; |
1815 |
|
} |
1816 |
|
|