class ListValue extends PropertyValue {

    @Override
    public ObjectValue toObjectValue(){
        ObjectValue object = new ObjectValue(getKey());
        object.setParent(getParent());
        object.setMeta(getMeta());
        object.setVersion(getVersion());
        int index = 0;
        for(PropertyValue val: list){
            object.setPropertyValue(val.deepClone().setKey(val.getKey()));
            index++;
        }
        return object;
    }

      ListValue(String key);

}