// Flying
this.addAbility(FlyingAbility.getInstance());
// When Shadowborn Demon enters the battlefield, destroy target non-Demon creature.
Ability ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(),false);
Target target = new TargetCreaturePermanent(filter);
ability.addTarget(target);
this.addAbility(ability);
// At the beginning of your upkeep, if there are fewer than six creature cards in your graveyard, sacrifice a creature.
TriggeredAbility triggeredAbility = new BeginningOfUpkeepTriggeredAbility(new SacrificeTargetEffect(), TargetController.YOU, false);
target = new TargetControlledCreaturePermanent();
target.setNotTarget(false);