@Override
      public boolean isSame(DiffCapable<?, ?> other) {
        //noinspection unchecked
        return other instanceof Adapter && isSameImpl.test(value, ((Adapter<T, D>)other).getValue());
      }
@Override
      public boolean isSame(DiffCapable<?, ?> other)