I'm not sure I understand your comment. Let me clarify what we are trying to do here.

The guidelines driving the change are:

* If we have a real last-modified timestamp for the file, we should pass it explicitly, but only as the `content-modified-at` value.
* If we have a real created-at timestamp for the file [which we never will because this is Java], we should pass it explicitly, but only as the `content-created-at` value.
* We should never pass `new Date()` as a `content-created-at` or `content-modified-at` value.

Applying those guidelines, here is what we end up with:

* In those functions that were passed a `java.io.File`, we want to call `file.lastModified()` on that file, and pass the resulting value as `content-modified-at`.
* We will never pass a value for `content-created-at`, because plain Java provides no way to retrieve that value.
* In those functions that were passed an `InputStream`, we do not pass any timestamps to the API, because we have no way of determining the actual created-at or modified-at time of the file that is in the `InputStream`.

I hope that helps clarify things. Given that, are there still changes that you think we need?