static Object resolve(Object obj) {
        while (obj instanceof Delegate<?>) {
            Delegate<?> delegate = (Delegate<?>) obj;
            obj = delegate.getDelegate();
        }
        return obj;
    }
Represents a class which delegates calls to a different object.

@param <T> the delegate type
helper/src/main/java/me/lucko/helper/interfaces/Delegate.java