// {1}{U}, {tap}: Untap target artifact an opponent controls and gain control of it until end of turn. It gains haste until end of turn. When you lose control of the artifact, tap it.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapTargetEffect(), new ManaCostsImpl<>("{1}{U}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetArtifactPermanent(filter));
Effect effect = new GainControlTargetEffect(Duration.EndOfTurn);
effect.setText("and gain control of it until end of turn. ");
ability.addEffect(effect);
effect = new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn);
effect.setText("It gains haste until end of turn. ");
ability.addEffect(effect);
ability.addEffect(new CreateDelayedTriggeredAbilityEffect(new MagusOfTheUnseenDelayedTriggeredAbility(), true));
this.addAbility(ability);
}