/**
  * Dado que el constructor solo permite que se le pase como parametro una instancia de AlgoTank
  * para inicializar al duenio de la estrategia, realizar un casteo de dicho atributo a AlgoTank es
  * type-safe. Si transcurrio el tiempo necesario para realizar un nuevo disparo desde el ultimo,
  * se lo realiza y se anula el atributo unidadesTemporalesTranscurridas.
  */
 public void decidirDisparo() {
   AlgoTank duenioAuxiliar = (AlgoTank) duenio;
   if (tiempoEntreDisparosTranscurrido()) {
     if (!(duenioAuxiliar.getArmasPrioritarias().isEmpty())) {
       ArmaMunicionLimitada armaAuxiliar = duenioAuxiliar.getArmasPrioritarias().peek();
       armaAuxiliar.disparar();
       if (armaAuxiliar.getMunicion() == 0) duenioAuxiliar.getArmasPrioritarias().pop();
     } else duenioAuxiliar.getAmetralladora().disparar();
     unidadesTemporalesTranscurridas = 0;
   }
 }
 /** Delega la persistencia al arma prioritaria en uso. */
 public void persistir(Document documentoXML, Element raiz) {
   AlgoTank duenioAuxiliar = (AlgoTank) duenio;
   ArmaMunicionLimitada armaAuxiliar = duenioAuxiliar.getArmasPrioritarias().peek();
   if (armaAuxiliar.getMunicion() == 0) return;
   armaAuxiliar.persistir(documentoXML, raiz);
 }