@Override
  protected void validate() {
    Preconditions.checkNotNull(table, "Actual table is required.");
    if (cache == null) {
      Preconditions.checkNotNull(readTtl, "readTtl must be specified.");
    } else {
      Preconditions.checkArgument(readTtl == null && writeTtl == null && cacheSize == 0,
          "Invalid to specify both {cache} and {readTtl|writeTtl|cacheSize} at the same time.");
    }
  }
Specify if write-around policy should be used to bypass writing
to cache for put operations. This is useful when put() is the
dominant operation and get() has no locality with recent puts.
@return this descriptor
samza-api/src/main/java/org/apache/samza/table/descriptors/CachingTableDescriptor.java