docs: public <T extends AbstractPutObjectRequest> T withMetadata(
              ObjectMetadata metadata) {
          setMetadata(metadata);
          @SuppressWarnings("unchecked") T t = (T)this;
          return t;
      }