code: public <T extends AbstractPutObjectRequest> T withAccessControlList(
              AccessControlList accessControlList) {
          setAccessControlList(accessControlList);
          @SuppressWarnings("unchecked") T t = (T)this;
          return t;
      }
docs: Sets the optional access control list for the new object. If specified,
  cannedAcl will be ignored. Returns this {@link AbstractPutObjectRequest},
  enabling additional method calls to be chained together.
  
  @param accessControlList
  The access control list for the new object.