ChainedRevisor implements ResultRevisor { public ChainedRevisor(ResultRevisor ...revisor) { this.revisorList = Lists.newArrayList(revisor); } ChainedRevisor(ResultRevisor ...revisor);  ChainedRevisor(List<? extends ResultRevisor> revisorList); @Override void revise(ResultNode node);  }
@Test public void testChainedRevisor(){ ResultNode node = new ResultNode("testDim", "testDim"); node.setName("testDim"); node.setValue("testDim"); List<String> dimensions = new ArrayList<String>(); Map<String, String> nameAliasMap = new HashMap<String, String>(); dimensions.add("testDim"); nameAliasMap.put("testDim", "dimension"); ColumnNameRevisor cr = new ColumnNameRevisor(dimensions, nameAliasMap); cr.revise(node); List<ColumnNameRevisor> revisorList =new ArrayList<ColumnNameRevisor>(); revisorList.add(cr); ChainedRevisor revisor=new ChainedRevisor(revisorList); ChainedRevisor revisor2=new ChainedRevisor(cr); revisor.revise(node); revisor2.revise(node); assertTrue("dimension".equals(node.getName())); }