4 // BEGIN: instanceof.class.InstanceProvider2
5 public final class InstanceProvider {
6 private final Object instance;
8 public InstanceProvider(Object instance) {
9 this.instance = instance;
12 public Class<?> instanceClass() {
13 return instance.getClass();
15 public Object instanceCreate() {
20 public boolean isInstanceOf(Class<?> c) {
21 if (Helper.knownHowToDoItBetter()) {
22 return Helper.computeTheResultOfIsInstanceOfInSomeBetterWay(c);
25 return c.isAssignableFrom(instanceClass());
31 // END: instanceof.class.InstanceProvider2
34 static boolean computeTheResultOfIsInstanceOfInSomeBetterWay(Class<?> c) {
37 static boolean knownHowToDoItBetter() {