LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICogQ29weXJpZ2h0IChjKSAyMDAzLCAyMDA0IElCTSBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLgogKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCiAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIENvbW1vbiBQdWJsaWMgTGljZW5zZSB2MS4wCiAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0CiAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvY3BsLXYxMC5odG1sCqAqCiAqIENvbnRyaWJ1dG9yczoKICogICAgSUJNIC0gSW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpwYWNrYWdlIG9yZy5lY2xpcHNlLndzdC5zZXJ2ZXIudWkuaW50ZXJuYWwud2l6YXJkOwoKaW1wb3J0IG9yZy5lY2xpcHNlLmpmYWNlLnZpZXdlcnMuSVN0cnVjdHVyZWRTZWxlY3Rpb247CmltcG9ydCBvcmcuZWNsaXBzZS5qZmFjZS53aXphcmQuV2l6YXJkOwppbXBvcnQgb3JnLmVjbGlwc2UudWkuSVdvcmtiZW5jaDsKLyoqCiAqIEFuIGFic3RyYWN0IFdpemFyZCB0aGF0IGNvbnRhaW5zIGhlbHBlciBtZXRob2RzLgogKi8KcHVibGljIGFic3RyYWN0IGNsYXNzIEFic3RyYWN0V2l6YXJkIGV4dGVuZHMgV2l6YXJkIHsKCXByb3RlY3RlZCBJV29ya2JlbmNoIHdvcmtiZW5jaDsKCXByb3RlY3RlZCBJU3RydWN0dXJlZFNlbGVjdGlvbiBzZWxlY3Rpb247CgoJLyoqCgkgKiBBYnN0cmFjdFdpemFyZCBjb25zdHJ1Y3RvciBjb21tZW50LgoJICovCglwdWJsaWMgQWJzdHJhY3RXaXphcmQoKSB7CgkJc3VwZXIoKTsKCX0KCgkvKioKCSAqIFJldHVybiB0aGUgY3VycmVudCB3b3JrYmVuY2guCgkgKiAKCSAqIEByZXR1cm4gb3JnLmVjbGlwc2UudWkuSVdvcmtiZW5jaAoJICovCglwdWJsaWMgSVdvcmtiZW5jaCBnZXRXb3JrYmVuY2goKSB7CgkJcmV0dXJuIHdvcmtiZW5jaDsKCX0KCgkvKioKCSAqIEluaXRpYWxpemUgdGhlIHdvcmtiZW5jaCBhbmQgY3VycmVudCBzZWxlY3Rpb24uCgkgKiAKCSAqIEBwYXJhbSBvcmcuZWNsaXBzZS51aS5JV29ya2JlbmNoCgkgKiBAcGFyYW0gb3JnLmVjbGlwc2UuamZhY2Uudmlld2Vycy5JU3RydWN0dXJlZFNlbGVjdGlvbgoJICovCglwdWJsaWMgdm9pZCBpbml0KElXb3JrYmVuY2ggbmV3V29ya2JlbmNoLCBJU3RydWN0dXJlZFNlbGVjdGlvbiBuZXdTZWxlY3Rpb24pIHsKCQl3b3JrYmVuY2ggPSBuZXdXb3JrYmVuY2g7CgkJc2VsZWN0aW9uID0gbmV3U2VsZWN0aW9uOwoJfQp9Cg==