Existem alternativas para implementar o Clone em Jav

No meu projeto Java, tenho um vetor de vários tipos de traders. Esses diferentes tipos de traders são subclasses da classe Trader. No momento, tenho um método que usa um Trader como argumento e o armazena 50 ou mais vezes no vetor. Estou tendo problemas porque armazenar o mesmo objeto 50 vezes é apenas armazenar 50referência do mesmo objeto. Preciso armazenar 50 cópias do objeto. Eu pesquisei sobre a implementação deClon, mas não quero que os programadores que definem um tipo de trader tenham que se preocupar em tornar sua classe clonável. Além disso, como apontado poresta págin, a implementação do clone cria todos os tipos de problemas. Também não acho que um construtor de cópias funcione porque, se eu definisse um na classe Trader, ele não saberia o tipo de Trader que estava copiando e apenas criaria um Trader genérico. O que eu posso fazer

Edit: Eu realmente não estou querendo fazer cópias exatas de um determinado objeto. O que realmente estou tentando fazer é adicionar um certo número de traders ao vetor. O problema é que o usuário precisa especificar em um argumento qual tipo de trader ele deseja adicionar. Aqui está um exemplo do que estou tentando fazer: (embora minha sintaxe seja completamente imaginária)

public void addTraders(*traderType*)
{
    tradervect.add(new *traderType*())
}

Como posso obter algo assim em Java?

questionAnswers(5)

yourAnswerToTheQuestion