- /* package whatever; // don't place package name! */ 
-   
- import java.util.*; 
- import java.lang.*; 
- import java.io.*; 
-   
- interface IMotor extends ICambio { 
-     public void-  SetMotor (String-  v );
 
- } 
- interface ICambio { 
-     public void-  SetCambio (String-  v );
 
- } 
- interface IRobo { 
-   
- } 
- class Car implements IMotor, IRobo{ 
-   
-     /** 
-      * @return the id 
-      */ 
-         return id; 
-     } 
-   
-     /** 
-      * @param id the id to set 
-      */ 
-         this.id = id; 
-     } 
-   
-     /** 
-      * @return the description 
-      */ 
-     public String-  getDescription () {
 
-         return description; 
-     } 
-   
-     /** 
-      * @param description the description to set 
-      */ 
-     public void-  setDescription (String-  description ) {
 
-         this.description = description; 
-     } 
-   
-     @Override 
-     public void-  SetMotor (String-  v ) {
 
-     } 
-   
-     @Override 
-     public void-  SetCambio (String-  v ) {
 
-     } 
- } 
-   
- class Ideone 
- { 
- 	{ 
- 		Car car = new Car(); 
-         Class<?>[] interfaces = car.getClass().getInterfaces(); 
-         ArrayList<String> items = new ArrayList<>(); 
-         SetInterfaces(interfaces, items) 
-                 .forEach((item) -> { 
-                 }); 
- 	} 
- 	public static ArrayList<String> SetInterfaces(Class<?>[] interfaces, ArrayList<String> items) 
-     {         
-         for (Class<?> intf : interfaces) { 
-             items.add(intf.getName()); 
-             SetInterfaces(intf.getInterfaces(), items); 
-         } 
-         return items; 
-     } 
- } 
				LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgppbnRlcmZhY2UgSU1vdG9yIGV4dGVuZHMgSUNhbWJpbyB7CiAgICBwdWJsaWMgdm9pZCBTZXRNb3RvcihTdHJpbmcgdik7Cn0KaW50ZXJmYWNlIElDYW1iaW8gewogICAgcHVibGljIHZvaWQgU2V0Q2FtYmlvKFN0cmluZyB2KTsKfQppbnRlcmZhY2UgSVJvYm8gewogICAgCn0KY2xhc3MgQ2FyIGltcGxlbWVudHMgSU1vdG9yLCBJUm9ib3sKCiAgICAvKioKICAgICAqIEByZXR1cm4gdGhlIGlkCiAgICAgKi8KICAgIHB1YmxpYyBJbnRlZ2VyIGdldElkKCkgewogICAgICAgIHJldHVybiBpZDsKICAgIH0KCiAgICAvKioKICAgICAqIEBwYXJhbSBpZCB0aGUgaWQgdG8gc2V0CiAgICAgKi8KICAgIHB1YmxpYyB2b2lkIHNldElkKEludGVnZXIgaWQpIHsKICAgICAgICB0aGlzLmlkID0gaWQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBAcmV0dXJuIHRoZSBkZXNjcmlwdGlvbgogICAgICovCiAgICBwdWJsaWMgU3RyaW5nIGdldERlc2NyaXB0aW9uKCkgewogICAgICAgIHJldHVybiBkZXNjcmlwdGlvbjsKICAgIH0KCiAgICAvKioKICAgICAqIEBwYXJhbSBkZXNjcmlwdGlvbiB0aGUgZGVzY3JpcHRpb24gdG8gc2V0CiAgICAgKi8KICAgIHB1YmxpYyB2b2lkIHNldERlc2NyaXB0aW9uKFN0cmluZyBkZXNjcmlwdGlvbikgewogICAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbjsKICAgIH0KICAgIHByaXZhdGUgSW50ZWdlciBpZDsKICAgIHByaXZhdGUgU3RyaW5nIGRlc2NyaXB0aW9uOwoKICAgIEBPdmVycmlkZQogICAgcHVibGljIHZvaWQgU2V0TW90b3IoU3RyaW5nIHYpIHsKICAgICAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRPcGVyYXRpb25FeGNlcHRpb24oIk5vdCBzdXBwb3J0ZWQgeWV0LiIpOyAKICAgIH0KCiAgICBAT3ZlcnJpZGUKICAgIHB1YmxpYyB2b2lkIFNldENhbWJpbyhTdHJpbmcgdikgewogICAgICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZE9wZXJhdGlvbkV4Y2VwdGlvbigiTm90IHN1cHBvcnRlZCB5ZXQuIik7IAogICAgfQp9CgpjbGFzcyBJZGVvbmUKewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgkJQ2FyIGNhciA9IG5ldyBDYXIoKTsKICAgICAgICBDbGFzczw/PltdIGludGVyZmFjZXMgPSBjYXIuZ2V0Q2xhc3MoKS5nZXRJbnRlcmZhY2VzKCk7CiAgICAgICAgQXJyYXlMaXN0PFN0cmluZz4gaXRlbXMgPSBuZXcgQXJyYXlMaXN0PD4oKTsKICAgICAgICBTZXRJbnRlcmZhY2VzKGludGVyZmFjZXMsIGl0ZW1zKQogICAgICAgICAgICAgICAgLmZvckVhY2goKGl0ZW0pIC0+IHsKICAgICAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oaXRlbSk7CiAgICAgICAgICAgICAgICB9KTsKCX0KCXB1YmxpYyBzdGF0aWMgQXJyYXlMaXN0PFN0cmluZz4gU2V0SW50ZXJmYWNlcyhDbGFzczw/PltdIGludGVyZmFjZXMsIEFycmF5TGlzdDxTdHJpbmc+IGl0ZW1zKQogICAgeyAgICAgICAgCiAgICAgICAgZm9yIChDbGFzczw/PiBpbnRmIDogaW50ZXJmYWNlcykgewogICAgICAgICAgICBpdGVtcy5hZGQoaW50Zi5nZXROYW1lKCkpOwogICAgICAgICAgICBTZXRJbnRlcmZhY2VzKGludGYuZ2V0SW50ZXJmYWNlcygpLCBpdGVtcyk7CiAgICAgICAgfQogICAgICAgIHJldHVybiBpdGVtczsKICAgIH0KfQ==