public new ErrorObject CreateInstance(params Object[] args){
switch (this.type){
case ErrorType.EvalError: return new EvalErrorObject(this.originalPrototype, args);
case ErrorType.RangeError: return new RangeErrorObject(this.originalPrototype, args);
case ErrorType.ReferenceError: return new ReferenceErrorObject(this.originalPrototype, args);
case ErrorType.SyntaxError: return new SyntaxErrorObject(this.originalPrototype, args);
case ErrorType.TypeError: return new TypeErrorObject(this.originalPrototype, args);
case ErrorType.URIError: return new URIErrorObject(this.originalPrototype, args);
default: return new ErrorObject(this.originalPrototype, args);
}
}