protected function getReportInputControls($reportUri, $reindex = true) {
        //Check if the reporturi is in the ic stash
        if (isset($this->inputControlStash[$reportUri])) {
            //Get them from the stash
            $inputControls = $this->inputControlStash[$reportUri];
        } else {
            //Get the input controls
            $inputControls = $this->clientService->getReportInputControls(
                $reportUri, $this->clientService->getDefaultInputOptionsSource());

            //If the rekey is set, rekey em
            if ($reindex) {
                $newArray = array();
                foreach($inputControls as $ic) {
                    //Create an entry in the new array
                    $newArray[$ic->getId()] = array('control' => $ic);

                    //Get the options, and index them by id => label and add it to the
                    if (method_exists($ic, 'getOptionList')) {
                        foreach($ic->getOptionList() as $option) {
                            $newArray[$ic->getId()]['options'][$option->getId()] = $option->getLabel();
                        }
                    } else {
                        $newArray[$ic->getId()]['options'] = null;
                    }
                }
                $inputControls = $newArray;
            }

            //Stash them
            $this->inputControlStash[$reportUri] = $inputControls;
        }

        //Return the array of input controls
        return $inputControls;
    }