Carregamento dinâmico de uma classe em java com um nome de pacote diferente

É possível carregar uma classe em Java e 'falsificar' o nome do pacote / nome canônico de uma classe? Tentei fazer isso da maneira mais óbvia, mas recebo a mensagem "o nome da classe não corresponde" em umClassDefNotFoundException.

A razão pela qual estou fazendo isso é que estou tentando carregar uma API que foi escrita no pacote padrão para que eu possa usá-la diretamente sem usar reflexão. O código será compilado na classe em uma estrutura de pastas que representa o pacote e uma importação de nome de pacote. ou seja:

./com/DefaultPackageClass.class
// ...
import com.DefaultPackageClass;
import java.util.Vector;
// ...

Meu código atual é o seguinte:

public Class loadClass(String name) throws ClassNotFoundException {
    if(!CLASS_NAME.equals(name))
            return super.loadClass(name);

    try {
        URL myUrl = new URL(fileUrl);
        URLConnection connection = myUrl.openConnection();
        InputStream input = connection.getInputStream();
        ByteArrayOutputStream buffer = new ByteArrayOutputStream();
        int data = input.read();

        while(data != -1){
            buffer.write(data);
            data = input.read();
        }

        input.close();

        byte[] classData = buffer.toByteArray();

        return defineClass(CLASS_NAME,
                classData, 0, classData.length);

    } catch (MalformedURLException e) {
        throw new UndeclaredThrowableException(e);
    } catch (IOException e) {
        throw new UndeclaredThrowableException(e); 
    }

}