public async Task <IActionResult> Item([FromRoute] int id) { var item = await _service.GetHackerNewsItemDetails(id); var hackerNewsDTO = _mapper.Map <HackerNewsDemoDTO>(item); if (item.Kids != null) { var itemChildren = await _service.GetHackerNewsItemDetails(item.Kids); hackerNewsDTO.Kids = _mapper.Map <List <HackerNewsDemoDTO> >(itemChildren);; } if (item.Parts != null) { var itemParts = await _service.GetHackerNewsItemDetailsV2(item.Parts); hackerNewsDTO.Kids = _mapper.Map <List <HackerNewsDemoDTO> >(itemParts);; } return(Ok(hackerNewsDTO)); }