/**
         * Evaluates the expression.
         *
         * @param env the calling environment.
         *
         * @return the expression value.
         */
        public Value eval(Env env)
        {
            QuercusClass cl = env.findClass(_className);

            if (cl == null)
            {
                env.error(L.l("no matching class {0}", _className), getLocation());
            }

            Value [] values = evalArgs(env, _args);

            Value oldThis = env.getThis();

            // php/09qe
            Value qThis = oldThis;

            env.pushCall(this, cl, values);

            try {
                env.checkTimeout();

                return(cl.callConstructor(env, qThis, values));
            } finally {
                env.popCall();
                env.setThis(oldThis);
            }
        }