if (ts.equals(this, toType)) return true;
if (ts.equals(this, toType) || ((JL5TypeSystem)ts).equivalent(this, toType)) return true;
    public boolean isCastValidImpl(Type toType){        if (isVoid() || toType.isVoid()) return false;        if (ts.equals(this, toType)) return true;        if (toType.isClass()){            /*if (this.isShort() && (toType.isInt() || toType.isLong() || toType.isFloat() || toType.isDouble())) return true;            if (this.isInt() && (toType.isLong() || toType.isFloat() || toType.isDouble())) return true;            if (this.isLong() && (toType.isFloat() || toType.isDouble())) return true;            if (this.isFloat() && toType.isDouble()) return true;*/            return false;        }        else if(isNumeric() && toType.isNumeric()){            return true;            }        return false;    }