Why not just always do the conversion?  Yes, it's a little more expensive but it's a rare operation, it'd mean less code and less files in the package.  The placeholder is simple enough that it should convert well.