protected function filterNestedContext(array $properties = [])
    {
        $func = function($value, $key) {
            return ($value && $key !== '@context');
        };

        if (!defined('ARRAY_FILTER_USE_BOTH')) {
            $return = [];
            foreach ($properties as $k => $v) {
                if (call_user_func($func, $v, $k)) {
                    $return[$k] = $v;
                }
            }

            return $return;
        }

        return array_filter($properties, $func, ARRAY_FILTER_USE_BOTH);
    }