@Override public void initialize(Arguments args) throws DirectiveParseException { this.col1 = ((ColumnName) args.value("source")).value(); this.col2 = ((ColumnName) args.value("destination")).value(); List<Triplet<Numeric, Numeric, String>> ranges = ((Ranges) args.value("ranges")).value(); for (Triplet<Numeric, Numeric, String> range : ranges) { double lower = range.getFirst().value().doubleValue(); double upper = range.getSecond().value().doubleValue(); rangeMap.put(Range.closed(lower, upper), range.getThird()); } }