@Override
	public List<Produto> findProdutosRelacionados(Long idProduto) {

		Produto produto = findById(idProduto);

		List<Categoria> categorias = produto.getCategorias();

		Set<Long> idsCategorias = new HashSet<>();

		for (Categoria categoria : categorias) {

			idsCategorias.add(categoria.getId());
		}

		List<Produto> itensRelacionados = null;

		try {

			itensRelacionados = findProdutosRelacionadosPorCategoria(
					idsCategorias, idProduto);
		} catch (Exception e) {

			itensRelacionados = findAll();
		}

		return itensRelacionados;
	}