Removed special EMPTY etag. Replaced with guava Optional. return etag in getState to resolve potential concurrency issue