@Override public void readValue(Object data, Tagable tagabale) { if (data instanceof MacroSeqData) { MacroSeqData macro = (MacroSeqData) data; Object val = getValue(macro.getAttributes()); if (val instanceof Sequence) { Sequence seq = (Sequence) val; if (!seq.isEmpty()) { val = seq.get(0); } } if (val instanceof Attributes) { Attributes dataset = (Attributes) val; Predicate<? super Attributes> predicate = macro.getApplicable(); if (predicate == null || predicate.test(dataset)) { for (TagW tag : macro.getTags()) { if (tag != null) { tag.readValue(dataset, tagabale); } } } } } }