/** Execute a one shot task or start executing a continuous task */
  public void startExecuting() {
    this.taskOwner.setAttackTarget(this.theOwnerAttacker);
    EntityLivingBase entitylivingbase = this.theDefendingTameable.func_130012_q();

    if (entitylivingbase != null) {
      this.field_142051_e = entitylivingbase.func_142015_aE();
    }

    super.startExecuting();
  }
  /** Returns whether the EntityAIBase should begin execution. */
  public boolean shouldExecute() {
    if (!this.theDefendingTameable.isTamed()) {
      return false;
    } else {
      EntityLivingBase entitylivingbase = this.theDefendingTameable.func_130012_q();

      if (entitylivingbase == null) {
        return false;
      } else {
        this.theOwnerAttacker = entitylivingbase.getAITarget();
        int i = entitylivingbase.func_142015_aE();
        return i != this.field_142051_e
            && this.isSuitableTarget(this.theOwnerAttacker, false)
            && this.theDefendingTameable.func_142018_a(this.theOwnerAttacker, entitylivingbase);
      }
    }
  }