{"action":"created","issue":{"url":"https://api.github.com/repos/appium/java-client/issues/220","labels_url":"https://api.github.com/repos/appium/java-client/issues/220/labels{/name}","comments_url":"https://api.github.com/repos/appium/java-client/issues/220/comments","events_url":"https://api.github.com/repos/appium/java-client/issues/220/events","html_url":"https://github.com/appium/java-client/issues/220","id":97186602,"number":220,"title":"Unable to inherit from MobileElement class for version 3.1.0","user":{"login":"alewang","id":9328074,"avatar_url":"https://avatars.githubusercontent.com/u/9328074?v=3","gravatar_id":"","url":"https://api.github.com/users/alewang","html_url":"https://github.com/alewang","followers_url":"https://api.github.com/users/alewang/followers","following_url":"https://api.github.com/users/alewang/following{/other_user}","gists_url":"https://api.github.com/users/alewang/gists{/gist_id}","starred_url":"https://api.github.com/users/alewang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alewang/subscriptions","organizations_url":"https://api.github.com/users/alewang/orgs","repos_url":"https://api.github.com/users/alewang/repos","events_url":"https://api.github.com/users/alewang/events{/privacy}","received_events_url":"https://api.github.com/users/alewang/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2015-07-25T03:39:50Z","updated_at":"2015-07-30T17:17:13Z","closed_at":null,"body":"I am unable to inherit from the MobileElement class. One of the samples of the errors I see is:\r\n\r\n    - The return types are incompatible for the inherited methods\r\n    FindsByLinkText.findElementsByLinkText(String),\r\n    MobileElement.findElementsByLinkText(String)\r\n\r\nI took a look through the source code, and it seems the cause is due to the DefaultGenericMobileElement class (MobileElement's parent class) extending from RemoteWebElements and implementing the various interfaces. The method signatures in RemoteWebElements and the Generic* interfaces match exactly, but they have different return types. RemoteWebElement's methods' return types are of the type List<WebElement>, while the return types for the various interfaces are List<T> (with T being the parametrized type).\r\n\r\nI would like to extend from the MobileElement class for some very specific functionality. I tried using the @SuppressWarnings annotation with various names (including \"all\"), but nothing seems to tell Eclipse that this error is not a problem.\r\n\r\nWhat can I do on my end to \"fix\" this error?\r\n\r\nWhat can I do for Appium to prevent these conflicting, overlapping methods with equivalent signatures from well.... overlapping?"},"comment":{"url":"https://api.github.com/repos/appium/java-client/issues/comments/126407469","html_url":"https://github.com/appium/java-client/issues/220#issuecomment-126407469","issue_url":"https://api.github.com/repos/appium/java-client/issues/220","id":126407469,"user":{"login":"afwang","id":3203517,"avatar_url":"https://avatars.githubusercontent.com/u/3203517?v=3","gravatar_id":"","url":"https://api.github.com/users/afwang","html_url":"https://github.com/afwang","followers_url":"https://api.github.com/users/afwang/followers","following_url":"https://api.github.com/users/afwang/following{/other_user}","gists_url":"https://api.github.com/users/afwang/gists{/gist_id}","starred_url":"https://api.github.com/users/afwang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/afwang/subscriptions","organizations_url":"https://api.github.com/users/afwang/orgs","repos_url":"https://api.github.com/users/afwang/repos","events_url":"https://api.github.com/users/afwang/events{/privacy}","received_events_url":"https://api.github.com/users/afwang/received_events","type":"User","site_admin":false},"created_at":"2015-07-30T17:17:13Z","updated_at":"2015-07-30T17:17:13Z","body":"I tried IDEA 14.1.4 with the updated settings in the POM file, but the same error shows up on the child class.\r\n\r\nI'm thinking about ways to solve this, and I think the cleanest solution might be for me to go to Selenium's source and open a pull request to make their RemoteWebElements class parametrized. When I have some time, I'll try doing that."}}