this.toughness = new MageInt(2);
FilterPermanent filter = new FilterPermanent("Bala Ged Thief or another Ally");
filter.add(Predicates.or(
new CardIdPredicate(this.getId()),
new SubtypePredicate("Ally")));
// Whenever Bala Ged Thief or another Ally enters the battlefield under your control, target player reveals a number of cards from his or her hand equal to the number of Allies you control. You choose one of them. That player discards that card.
Ability ability = new EntersBattlefieldAllTriggeredAbility(Zone.BATTLEFIELD, new BalaGedThiefEffect(), filter, false);
TargetPlayer target = new TargetPlayer();
ability.addTarget(target);