function variableMulti( $blockName, $varNames, $signatures = array() )
    {
        $ret = array();

        if ( !isset( $this->BlockValues[$blockName] )
            && !isset( self::$injectedSettings[$this->FileName][$blockName] )
        )
        {
            eZDebug::writeError( "Undefined group: '$blockName' in " . $this->FileName, "eZINI" );
            return false;
        }
        foreach ( $varNames as $key => $varName )
        {
            $ret[$key] = null;

            if ( isset( $this->BlockValues[$blockName][$varName] ) )
            {
                $ret[$key] = $this->BlockValues[$blockName][$varName];
            }
            if ( isset( self::$injectedSettings[$this->FileName][$blockName][$varName] ) )
            {
                $ret[$key] = self::$injectedSettings[$this->FileName][$blockName][$varName];
            }
            if ( isset( self::$injectedMergeSettings[$this->FileName][$blockName][$varName] ) )
            {
                if ( !is_array( $ret[$key] ) || !is_array( self::$injectedMergeSettings[$this->FileName][$blockName][$varName] ) )
                {
                    throw new RuntimeException( "injected-merge-settings can only reference and contain array values" );
                }
                $ret[$key] = array_merge(
                    $this->BlockValues[$blockName][$varName],
                    self::$injectedMergeSettings[$this->FileName][$blockName][$varName]
                );
            }

            if ( isset( $ret[$key] ) && isset( $signatures[$key] ) )
            {
                switch ( $signatures[$key] )
                {
                    case 'enabled':
                        $ret[$key] = $this->BlockValues[$blockName][$varName] == 'enabled';
                        break;
                }
            }
        }

        return $ret;
    }