public static function getTcaForTable($tableName)
    {
        if (isset(self::$tcaCache[$tableName])) {
            return self::$tcaCache[$tableName];
        }

        if (!self::existsTable($tableName)) {
            throw new \BadMethodCallException('The table "' . $tableName . '" does not exist.', 1331315679);
        }

        if (!isset($GLOBALS['TCA'][$tableName])) {
            throw new \BadMethodCallException('The table "' . $tableName . '" has no TCA.', 1331315694);
        }
        self::$tcaCache[$tableName] = $GLOBALS['TCA'][$tableName];

        return self::$tcaCache[$tableName];
    }