code: private void cleanProperties(Map<String, String> props) {
          if (props != null) {
              props.remove(StorageProvider.PROPERTIES_CONTENT_MD5);
              props.remove(StorageProvider.PROPERTIES_CONTENT_CHECKSUM);
              props.remove(StorageProvider.PROPERTIES_CONTENT_MODIFIED);
              props.remove(StorageProvider.PROPERTIES_CONTENT_SIZE);
              props.remove(HttpHeaders.CONTENT_LENGTH);
              props.remove(HttpHeaders.CONTENT_TYPE);
              props.remove(HttpHeaders.LAST_MODIFIED);
              props.remove(HttpHeaders.DATE);
              props.remove(HttpHeaders.ETAG);
              props.remove(HttpHeaders.CONTENT_LENGTH.toLowerCase());
              props.remove(HttpHeaders.CONTENT_TYPE.toLowerCase());
              props.remove(HttpHeaders.LAST_MODIFIED.toLowerCase());
              props.remove(HttpHeaders.DATE.toLowerCase());
              props.remove(HttpHeaders.ETAG.toLowerCase());
          }
      }
docs: Pull out the system-generated properties, to allow the properties that
  are added to the duplicated item to be only the user-defined properties.
  
  @param props