code: protected void writeCache() throws IOException {
          if (this.cache != null) {
              byte[] data = this.data == null ? null : this.data.get();
              if (data == null) {
                  return;
              }
              this.cache.write(resourceId, data);
          }
      }
docs: This method is called after data could be successfully loaded from a non fallback resource. This method by
  default writes an file containing the data into the user's local home directory, so subsequent or later calls,
  even after a VM restart, should be able to recover this information.