} else if (prop instanceof PropertyIntegerImpl) {
PropertyIntegerImpl clone = new PropertyIntegerImpl();
clone.setValues(((PropertyIntegerImpl)prop).getValues());
ad = clone;
} else if (prop instanceof PropertyStringImpl) {
PropertyStringImpl clone = new PropertyStringImpl();
clone.setValues(((PropertyStringImpl)prop).getValues());
ad = clone;
} else if (prop instanceof PropertyUriImpl) {
PropertyUriImpl clone = new PropertyUriImpl();
clone.setValues(((PropertyUriImpl)prop).getValues());
ad = clone;
} else {
throw new RuntimeException("Unknown property type: " + prop.getClass());
}