<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _get_array_controller_resource(self):
 """Gets the ArrayController resource if exists. :raises: IloCommandNotSupportedError if the resource ArrayController doesn't exist. :returns the tuple of SmartStorage URI, Headers and settings. """

        headers, storage_uri, storage_settings = self._get_storage_resource()
        if ('links' in storage_settings and
                'ArrayControllers' in storage_settings['links']):
            # Get the ArrayCOntrollers URI and Settings
            array_uri = storage_settings['links']['ArrayControllers']['href']
            status, headers, array_settings = self._rest_get(array_uri)

            if status >= 300:
                msg = self._get_extended_error(array_settings)
                raise exception.IloError(msg)

            return headers, array_uri, array_settings
        else:
            msg = ('"links/ArrayControllers" section in SmartStorage'
                   ' does not exist')
            raise exception.IloCommandNotSupportedError(msg)