public static function defaultResolveFn($source, $args, $root, $ast)
    {
        $property = NULL;
        $key = $ast->get('name')->get('value');

        if ((is_array($source) || $source instanceof \ArrayAccess) && isset($source[$key])) {
            $property = $source[$key];
        }
        else if (is_object($source) && property_exists($source, $key)) {
            if ($key !== 'ofType') {
                $property = $source->{$key};
            }
        }

        return is_callable($property) ? call_user_func($property, $source) : $property;
    }