### Question:
CellsUtils { public static JSONObject getJsonFromCell(Cells cells) throws IllegalAccessException, InstantiationException, InvocationTargetException { JSONObject json = new JSONObject(); for (Cell cell : cells) { if (cell.getCellValue() != null) { if (Collection.class.isAssignableFrom(cell.getCellValue().getClass())) { Collection c = (Collection) cell.getCellValue(); Iterator iterator = c.iterator(); List innerJsonList = new ArrayList<>(); while (iterator.hasNext()) { Object innerObject = iterator.next(); if(innerObject instanceof Cells){ innerJsonList.add(getJsonFromCell((Cells)innerObject )); }else{ innerJsonList.add(innerObject); } } json.put(cell.getCellName(), innerJsonList); } else if (Cells.class.isAssignableFrom(cell.getCellValue().getClass())) { json.put(cell.getCellName(), getJsonFromCell((Cells) cell.getCellValue())); } else { json.put(cell.getCellName(), cell.getCellValue()); } } } return json; }  static JSONObject getJsonFromCell(Cells cells); static Cells getCellFromJson(JSONObject Json, String tableName); static Cells getCellWithMapFromJson(JSONObject Json, String tableName); static T getObjectFromJson(Class<T> classEntity, JSONObject bsonObject); static T getObjectWithMapFromJson(Class<T> classEntity, JSONObject bsonObject); static Row getRowFromCells(Cells cells); static Collection<Row> getRowsFromsCells(Collection<Cells> cellsCol); static StructType getStructTypeFromCells(Cells cells);  }### Answer:
@Test public void testGetJsonFromCell() throws Exception { }