if(imp == DERObjectIdentifier.class) {
return getObjectIdentifier(val.toString());
} else if(imp == DERNull.class) {
return new DERNull();
} else if(imp == DERBoolean.class) {
return new DERBoolean(val.isTrue());
} else if(imp == DERUTCTime.class) {
return new DERUTCTime(((RubyTime)val).getJavaDate());
} else if(imp == DERInteger.class && val instanceof RubyBignum) {
return new DERInteger(((RubyBignum)val).getValue());
} else if(imp == DERInteger.class) {