final VmNormalClass< ? > normalClass = (VmNormalClass) objectClass;
final VmNormalClass< ? > normalClass = (VmNormalClass<?>) objectClass;
    public final Object clone(Cloneable object) {        testInited();        final VmClassType< ? > objectClass = VmMagic.getObjectType(object);        final Address objectPtr = ObjectReference.fromObject(object)                .toAddress();        final int size;        if (objectClass.isArray()) {            final int slotSize = Unsafe.getCurrentProcessor().getArchitecture()                    .getReferenceSize();            final VmArrayClass< ? > arrayClass = (VmArrayClass< ? >) objectClass;            final int length = objectPtr.loadInt(Offset                    .fromIntSignExtend(VmArray.LENGTH_OFFSET * slotSize));            final int elemSize = arrayClass.getComponentType().getTypeSize();            size = (VmArray.DATA_OFFSET * slotSize) * (length * elemSize);        } else {            final VmNormalClass< ? > normalClass = (VmNormalClass) objectClass;            size = normalClass.getObjectSize();        }        final Object newObj = allocObject(objectClass, size);        helper.copy(objectPtr, ObjectReference.fromObject(newObj).toAddress(),                Extent.fromIntZeroExtend(size));        return newObj;    }