code: public static @Nullable Object unwrapOptionalAsNull(@Nullable Object o) {
          return o instanceof Optional<?> ? unwrap((Optional<?>) o)
                  : o instanceof OptionalInt ? unwrap((OptionalInt) o)
                  : o instanceof OptionalLong ? unwrap((OptionalLong) o)
                  : o instanceof OptionalDouble ? unwrap((OptionalDouble) o)
                  : o;
      }
docs: If object is an empty optional-type, return null. If object is non-empty
  optional-type, return its value. Otherwise return object as it is.