class ClientList implements ClientExpression<ClientList> {

    @XmlElementWrapper(name = "items")
    @XmlElements(value = {
            @XmlElement(name = ClientNull.EXPRESSION_ID,
                    type = ClientNull.class),
            @XmlElement(name = ClientBoolean.EXPRESSION_ID,
                    type = ClientBoolean.class),
            @XmlElement(name = ClientNumber.EXPRESSION_ID,
                    type = ClientNumber.class),
            @XmlElement(name = ClientRelativeDateRange.EXPRESSION_ID,
                    type = ClientRelativeDateRange.class),
            @XmlElement(name = ClientRelativeTimestampRange.EXPRESSION_ID,
                    type = ClientRelativeTimestampRange.class),
            @XmlElement(name = ClientString.EXPRESSION_ID,
                    type = ClientString.class),
            @XmlElement(name = ClientDate.EXPRESSION_ID,
                    type = ClientDate.class),
            @XmlElement(name = ClientTime.EXPRESSION_ID,
                    type = ClientTime.class),
            @XmlElement(name = ClientTimestamp.EXPRESSION_ID,
                    type = ClientTimestamp.class),
            @XmlElement(name = ClientVariable.EXPRESSION_ID,
                    type = ClientVariable.class),
            @XmlElement(name = ClientNot.EXPRESSION_ID,
                    type = ClientNot.class),
            @XmlElement(name = ClientAnd.EXPRESSION_ID,
                    type = ClientAnd.class),
            @XmlElement(name = ClientOr.EXPRESSION_ID,
                    type = ClientOr.class),
            @XmlElement(name = ClientGreater.EXPRESSION_ID,
                    type = ClientGreater.class),
            @XmlElement(name = ClientGreaterOrEqual.EXPRESSION_ID,
                    type = ClientGreaterOrEqual.class),
            @XmlElement(name = ClientLess.EXPRESSION_ID,
                    type = ClientLess.class),
            @XmlElement(name = ClientLessOrEqual.EXPRESSION_ID,
                    type = ClientLessOrEqual.class),
            @XmlElement(name = ClientNotEqual.EXPRESSION_ID,
                    type = ClientNotEqual.class),
            @XmlElement(name = ClientEquals.EXPRESSION_ID,
                    type = ClientEquals.class),
            @XmlElement(name = ClientFunction.EXPRESSION_ID,
                    type = ClientFunction.class),
            @XmlElement(name = ClientIn.EXPRESSION_ID,
                    type = ClientIn.class),
            @XmlElement(name = ClientRange.EXPRESSION_ID,
                    type = ClientRange.class),
            @XmlElement(name = ClientAdd.EXPRESSION_ID,
                    type = ClientAdd.class),
            @XmlElement(name = ClientSubtract.EXPRESSION_ID,
                    type = ClientSubtract.class),
            @XmlElement(name = ClientMultiply.EXPRESSION_ID,
                    type = ClientMultiply.class),
            @XmlElement(name = ClientDivide.EXPRESSION_ID,
                    type = ClientDivide.class),
            @XmlElement(name = ClientPercentRatio.EXPRESSION_ID,
                    type = ClientPercentRatio.class),
            @XmlElement(name = ClientList.EXPRESSION_ID,
                    type = ClientList.class)
    })
    public List<ClientExpression> getItems() {
        return items;
    }

    public  ClientList();
    public  ClientList(List<ClientExpression> expressions);
    public  ClientList(ClientList source);

}