public <T extends AbstractPutObjectRequest> T withAccessControlList(
            AccessControlList accessControlList) {
        setAccessControlList(accessControlList);
        @SuppressWarnings("unchecked") T t = (T)this;
        return t;
    }
public < T extends AbstractPutObjectRequest > T withAccessControlList ( AccessControlList accessControlList ) { setAccessControlList ( accessControlList ) ; @ SuppressWarnings ( "unchecked" ) T t = ( T ) this ; return t ; }
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.