ChunkSample { @Override public boolean equals(Object obj) { if (this == obj) { return true; } else if (obj instanceof ChunkSample) { ChunkSample a = (ChunkSample) obj; return Arrays.equals(getSentence(), a.getSentence()) && Arrays.equals(getTags(), a.getTags()) && Arrays.equals(getPreds(), a.getPreds()); } else { return false; } } ChunkSample(String[] sentence, String[] tags, String[] preds);  ChunkSample(List<String> sentence, List<String> tags, List<String> preds); String[] getSentence(); String[] getTags(); String[] getPreds(); Span[] getPhrasesAsSpanList(); static Span[] phrasesAsSpanList(String[] aSentence, String[] aTags,
      String[] aPreds); String nicePrint(); @Override String toString(); @Override boolean equals(Object obj);  }
@Test public void testEquals() { assertFalse(createGoldSample() == createGoldSample()); assertTrue(createGoldSample().equals(createGoldSample())); assertFalse(createPredSample().equals(createGoldSample())); assertFalse(createPredSample().equals(new Object())); }