code: @GET
  	@Produces(MediaType.APPLICATION_JSON)
  	@Path("/{chartId}")
  	@Description("Finds a chart, given its id.")
  	public ChartDto getChartByID(@Context HttpServletRequest req, @PathParam("chartId") BigInteger chartId,
  			@QueryParam("fields") List<String> fields) {
  		
  		if (chartId == null || chartId.compareTo(BigInteger.ZERO) < 1) {
  			throw new WebApplicationException("chartId cannot be null and must be a positive non-zero number.", Status.BAD_REQUEST);
  		}
  
  		Chart chart;
  		if(fields == null || fields.isEmpty()) {
  			chart = _chartService.getChartByPrimaryKey(chartId);
  		} else {
  			chart = _chartService.getChartByPrimaryKey(chartId);
  		}
  		
  		if (chart == null) {
  			throw new WebApplicationException("Chart with ID: " + chartId + " does not exist. Please use a valid chartId.", 
  					Response.Status.NOT_FOUND);
  		}
  		
  		PrincipalUser remoteUser = getRemoteUser(req);
  		_validateResourceAuthorization(remoteUser, chart.getOwner());
  		ChartDto chartDto = ChartDto.transformToDto(chart);
  		chartDto.setHref(req.getRequestURL().toString());
  		return chartDto;
  	}
docs: Find a chart, given its id.
  
  @param   req      The HttpServlet request object. Cannot be null.
  @param   chartId  The chart Id. Cannot be null and must be a positive non-zero number.
  @param fields     The fields (unused parameter)
  @return  The chart object.
  
  @throws  WebApplicationException  An exception with 404 NOT_FOUND will be thrown if the chart does not exist.