public LSGWTSubscription(LSGWTFieldElement[] schema, String[] group,
            SubscriptionMode mode) {

        // adding list of fields (schema)
        for (int i = 0; i < schema.length; i++) {
            String field = schema[i].toString();
            Integer count = this.fields.get(field);
            if (count == null || count == 0) {
                this.fields.put(field, 1);
            } else {
                count = count + 1;
                this.fields.put(field, count);
            }
        }
        // adding list of items to subscribe
        for (int i=0; i < group.length; i++) {
            String item = group[i];
            Integer count = this.items.get(item);
            if (count == null || count == 0) {
                this.items.put(item, 1);
            } else {
                count = count + 1;
                this.items.put(item, count);
            }
        }
        
        this.subscriptionMode = mode.name();
        
        this.setupSubscription();
    }