/* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

// Selenium
interface WebElement {}

interface FindsByXPath {
    <T extends WebElement> List<T> findElementsByXPath(String using);
}

// Appium Java Client
interface MobileDriver<T extends WebElement> extends FindsByXPath {
    List<T> findElementsByXPath(String xPath);

    void execute(String driverCommand, Map<String, ?> parameters);

}


// Our Framework
interface IFrameworkBaseDriver extends FindsByXPath {}

interface IFrameworkMobileDriver extends
        IFrameworkBaseDriver,
        MobileDriver
{}

class FrameworkMobileDriver implements IFrameworkMobileDriver {

    @Override
    public List<WebElement> findElementsByXPath(String xPath) {
        return null;
    }

    @Override
    public void execute(String driverCommand, Map<String, ?> parameters) {
    }
}

/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
	public static void main (String[] args) throws java.lang.Exception
	{
		new FrameworkMobileDriver().findElementsByXPath("");
	}
}