@Override
    public Expr clone() {
        return new VirtualSlotRef(this);
    }
@Test
    public void testClone() {
        Expr v = virtualSlot.clone();
        Assert.assertTrue(v instanceof VirtualSlotRef);
        Assert.assertTrue(((VirtualSlotRef) v).getRealSlots().get(0).equals(virtualSlot.getRealSlots().get(0)));
        Assert.assertFalse(((VirtualSlotRef) v).getRealSlots().get(0) == virtualSlot.getRealSlots().get(0));

    }