public ACTION matches(Message message) {
        ACTION result = ACTION.NOTHING;
        if (itemMatches(this.src, message.getSrc())
                && itemMatches(this.id, message.getId())
                && itemMatches(this.kind, message.getKind())
                && itemMatches(this.dest, message.getDest())) {
            if (itemMatches(this.nth, counter)) {
                result = this.action;
            }
            counter += 1;
        }

        return result;
    }