/* package whatever; // don't place package name! */
 
import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.Optional;
import java.util.function.Consumer;
 
/* Name of the class has to be "Main" only if the class is public. */
class A {
    private void setter
(final Number value
) { }     private <T> void setter(final Optional<? super T> value) { }
    private void setter2(final Optional<Number> value) { }
 
    private <T> void useSetter(final Consumer<Optional<T>> a) { }
 
    private void callMethod() {
        useSetter(this::setter); // Error here
        useSetter(this::setter2);
    }
 
    public static void main
(String [] args
){  
    }
}
 
class B {
    private void setter
(final Number value
) { }     private void setter(final Optional<? super Number> value) { }
    private void setter2(final Optional<Number> value) { }
 
    private <T> void useSetter(final Consumer<Optional<T>> a) { }
 
    private void callMethod() {
        useSetter(this::setter); // Error here
        useSetter(this::setter2);
    }
 
    public static void main
(String [] args
){  
    }
}
				LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLnV0aWwuT3B0aW9uYWw7CmltcG9ydCBqYXZhLnV0aWwuZnVuY3Rpb24uQ29uc3VtZXI7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgQSB7CiAgICBwcml2YXRlIHZvaWQgc2V0dGVyKGZpbmFsIE51bWJlciB2YWx1ZSkgeyB9CiAgICBwcml2YXRlIDxUPiB2b2lkIHNldHRlcihmaW5hbCBPcHRpb25hbDw/IHN1cGVyIFQ+IHZhbHVlKSB7IH0KICAgIHByaXZhdGUgdm9pZCBzZXR0ZXIyKGZpbmFsIE9wdGlvbmFsPE51bWJlcj4gdmFsdWUpIHsgfQoKICAgIHByaXZhdGUgPFQ+IHZvaWQgdXNlU2V0dGVyKGZpbmFsIENvbnN1bWVyPE9wdGlvbmFsPFQ+PiBhKSB7IH0KCiAgICBwcml2YXRlIHZvaWQgY2FsbE1ldGhvZCgpIHsKICAgICAgICB1c2VTZXR0ZXIodGhpczo6c2V0dGVyKTsgLy8gRXJyb3IgaGVyZQogICAgICAgIHVzZVNldHRlcih0aGlzOjpzZXR0ZXIyKTsKICAgIH0KICAgIAogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nIFtdIGFyZ3MpewogICAgCQogICAgfQp9CgpjbGFzcyBCIHsKICAgIHByaXZhdGUgdm9pZCBzZXR0ZXIoZmluYWwgTnVtYmVyIHZhbHVlKSB7IH0KICAgIHByaXZhdGUgdm9pZCBzZXR0ZXIoZmluYWwgT3B0aW9uYWw8PyBzdXBlciBOdW1iZXI+IHZhbHVlKSB7IH0KICAgIHByaXZhdGUgdm9pZCBzZXR0ZXIyKGZpbmFsIE9wdGlvbmFsPE51bWJlcj4gdmFsdWUpIHsgfQoKICAgIHByaXZhdGUgPFQ+IHZvaWQgdXNlU2V0dGVyKGZpbmFsIENvbnN1bWVyPE9wdGlvbmFsPFQ+PiBhKSB7IH0KCiAgICBwcml2YXRlIHZvaWQgY2FsbE1ldGhvZCgpIHsKICAgICAgICB1c2VTZXR0ZXIodGhpczo6c2V0dGVyKTsgLy8gRXJyb3IgaGVyZQogICAgICAgIHVzZVNldHRlcih0aGlzOjpzZXR0ZXIyKTsKICAgIH0KICAgIAogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nIFtdIGFyZ3MpewogICAgCQogICAgfQp9