// You may choose not to untap Vedalken Shackles during your untap step.
this.addAbility(new SkipUntapOptionalAbility());
// {2}, {tap}: Gain control of target creature with power less than or equal to the number of Islands you control for as long as Vedalken Shackles remains tapped.
ConditionalContinousEffect effect = new ConditionalContinousEffect(
new GainControlTargetEffect(Duration.Custom), SourceTappedCondition.getInstance(),
"Gain control of target creature with power less than or equal to the number of Islands you control for as long as {this} remains tapped");
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new GenericManaCost(2));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent(controllableCreatures));
this.addAbility(ability);