public Join(String strategy, String type, Map<String, List<String>> expression) {
this.strategy = strategy;
this.type = type;
this.expression = Maps.newHashMap();
for (Entry<String, List<String>> e : expression.entrySet()) {
this.expression.put(e.getKey(), new JoinExpression(e.getValue()));
}
}