Bloquear métodos [Resolvido]

Boa tarde.
Eu gostaria de uma ideia sobre como bloquear métodos de serem invocados mais de uma vez mas obrigando todos a serem invocados ao menos uma vez.
ex: eu tenho 2 métodos construtores e um terceiro que gera certo objeto onde este só pode ser invocado se os 2 primeiros já tiverem sido chamados, eu queria bloquear o terceiro impondo esta condição e não deixar um método construtor ser chamado duas vezes.
na verdade eu achei vario meios de fazer isso … mas muito deselegantes, cheio de variáveis ou if …
se alguém souber um jeito mais elegante eu agradeço.

Não basta deixar esse terceiro construtor private?

Não poderia pois preciso chamar os três sempre na mesma ordem … mas ja dei um jeito com Map<String, Boolean> assim consigo por true pra metodos ja invocados e impedir o terceiro de ser chamado se algum constar false, mas obrigado pela atenção.