### Question:
AbstractBoard extends AbstractLayeredBoard<E> { public List<Point> get(E... elements) { List<Point> result = new LinkedList<>(); for (int layer = 0; layer < countLayers(); ++layer) { result.addAll(get(layer, elements)); } return result; }  abstract E valueOf(char ch); ClientBoard forString(String boardString); @Override AbstractBoard forString(String... layers); List<Point> get(E... elements); boolean isAt(int x, int y, E element); boolean isAt(Point point, E element); E getAt(int x, int y); E getAt(Point point); List<E> getAllAt(int x, int y); List<E> getAllAt(Point point); String boardAsString(); boolean isAt(int x, int y, E... elements); boolean isAt(Point point, E... elements); boolean isNear(int x, int y, E element); boolean isNear(Point point, E element); int countNear(int x, int y, E element); int countNear(Point point, E element); List<E> getNear(int x, int y); List<E> getNear(Point point); void set(int x, int y, char ch); char[][] getField();  }### Answer:
@Test public void shouldWork_get() { assertEquals("[[0,0], [0,1], [0,2], [0,3], [1,0], [1,3], " + "[2,0], [2,3], [3,0], [3,1], [3,2], [3,3]]", board.get(Elements.ONE).toString()); assertEquals("[[1,1], [2,1]]", board.get(Elements.TWO).toString()); assertEquals("[[1,2], [2,2]]", board.get(Elements.THREE).toString()); }