public static function normalize($pointer, array $context = null)
    {
        if (is_object($pointer)) {
            return ['value' => $pointer];
        }
        if (is_string($pointer)) {
            return ['classname' => $pointer];
        }
        if ($pointer === null) {
            return [];
        }
        if ($pointer === false) {
            throw new Disabled('');
        }
        if (!is_array($pointer)) {
            throw new InvalidPointer('invalid pointer type');
        }
        if (!isset($pointer[0])) {
            return $pointer;
        }
        return self::normalizeNumeric($pointer, $context);
    }