@Test
public void extract() {

    Map<String, Value> results = extractor.extract(context);
    assertEquals(3, results.size());
    assertEquals(1L, (long)results.get("test1").getAsLong());
    assertEquals(2L, (long)results.get("test2").getAsLong());
    assertEquals(3L, (long)results.get("test3").getAsLong());
    results = clone.extract(context);
    assertEquals(3, results.size());
    assertEquals(1L, (long)results.get("test1").getAsLong());
    assertEquals(2L, (long)results.get("test2").getAsLong());
    assertEquals(3L, (long)results.get("test3").getAsLong());
}