### Question:
MultiRescorer implements Rescorer { public static Rescorer of(Rescorer... rescorers) { if (rescorers == null || rescorers.length == 0) { throw new IllegalArgumentException("rescorers is null or empty"); } return of(Arrays.asList(rescorers)); } private  MultiRescorer(Rescorer... rescorers); static Rescorer of(Rescorer... rescorers); @Override double rescore(String itemID, double value); @Override boolean isFiltered(String itemID);  }### Answer:
@Test public void testOf() { MultiRescorer multi = (MultiRescorer) MultiRescorer.of(new SimpleModRescorer(1), new SimpleModRescorer(2)); assertEquals(2, multi.getRescorers().length); MultiRescorer multi2 = (MultiRescorer) MultiRescorer.of(multi, new SimpleModRescorer(3)); assertEquals(3, multi2.getRescorers().length); }