### Question:
Match { void reset() { this.state.reset(); this.overriddenProfiles = null; this.cookie = null; this.propertyValueOverridesCookies = null; } Match(Provider provider);   Match(Provider provider, String targetUserAgent); Dataset getDataSet(); String getTargetUserAgent(); long getElapsed(); Signature getSignature(); MatchMethods getMethod(); int getClosestSignaturesCount(); int getSignaturesCompared(); int getSignaturesRead(); int getRootNodesEvaluated(); int getNodesEvaluated(); int getNodesFound(); int getStringsRead(); Profile[] getProfiles(); int getDifference(); String getDeviceId(); byte[] getDeviceIdAsByteArray(); String getUserAgent(); @Deprecated Map<String, String[]> getResults(); Values getValues(Property property); Values getValues(String propertyName); void updateProfile(int profileId); @Override String toString(); public String cookie; }### Answer:
@Test public void testCreate() throws IOException, InterruptedException { long start; Provider provider = new Provider(MemoryFactory.create(new FileInputStream(Filename.LITE_PATTERN_V32))); List<Match> matches= new ArrayList<Match>(NUMBER_OF_TESTS); for (int i = 0; i< NUMBER_OF_TESTS; i++) { matches.add(provider.createMatch()); } create(provider, matches); System.gc(); Thread.sleep(2000); start = System.currentTimeMillis(); create(provider, matches); System.out.printf("%,d millis to create%n", System.currentTimeMillis()-start); newMatch(provider, matches); System.gc(); Thread.sleep(2000); start = System.currentTimeMillis(); newMatch(provider, matches); System.out.printf("%,d millis for new %n", System.currentTimeMillis()-start); reset(matches); System.gc(); Thread.sleep(2000); start = System.currentTimeMillis(); reset(matches); System.out.printf("%,d millis to reset%n", System.currentTimeMillis()-start); System.gc(); Thread.sleep(2000); start = System.currentTimeMillis(); reset(matches); System.out.printf("%,d millis to reset%n", System.currentTimeMillis()-start); System.gc(); Thread.sleep(2000); start = System.currentTimeMillis(); newMatch(provider, matches); System.out.printf("%,d millis new%n", System.currentTimeMillis()-start); System.gc(); Thread.sleep(2000); start = System.currentTimeMillis(); create(provider, matches); System.out.printf("%,d millis create%n", System.currentTimeMillis()-start); }