/* package whatever; // don't place package name! */
class Ideone {
public static void main
(String[] args
) {
}
}
interface Builder<B, A> {
B build(A a);
}
class ClientBuilder
implements Builder
<String, Integer
> { @Override
return i.toString();
}
}
abstract class Client<B, A> {
protected abstract Builder<B, A> getBuilder();
}
class ClientClient
extends Client
<String, Integer
> {
@Override
protected Builder
<String, Integer
> getBuilder
() { return null;
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKY2xhc3MgSWRlb25lIHsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKCQkKCX0KfQoKaW50ZXJmYWNlIEJ1aWxkZXI8QiwgQT4gewogIEIgYnVpbGQoQSBhKTsKfQoKY2xhc3MgQ2xpZW50QnVpbGRlciBpbXBsZW1lbnRzIEJ1aWxkZXI8U3RyaW5nLCBJbnRlZ2VyPiB7CiAgQE92ZXJyaWRlCiAgcHVibGljIFN0cmluZyBidWlsZChJbnRlZ2VyIGkpIHsKICAgIHJldHVybiBpLnRvU3RyaW5nKCk7CiAgfQp9CgphYnN0cmFjdCBjbGFzcyBDbGllbnQ8QiwgQT4gewogIHByb3RlY3RlZCBhYnN0cmFjdCBCdWlsZGVyPEIsIEE+IGdldEJ1aWxkZXIoKTsKfQoKY2xhc3MgQ2xpZW50Q2xpZW50IGV4dGVuZHMgQ2xpZW50PFN0cmluZywgSW50ZWdlcj4gewoKICBAT3ZlcnJpZGUKICBwcm90ZWN0ZWQgQnVpbGRlcjxTdHJpbmcsIEludGVnZXI+IGdldEJ1aWxkZXIoKSB7CiAgICByZXR1cm4gbnVsbDsKICB9Cn0=