code: @Override
    public ResourceStorageLoadable getOrCreateResourceStorageLoadable(final StorageAwareResource resource) {
      try {
        final ResourceStorageProviderAdapter stateProvider = IterableExtensions.<ResourceStorageProviderAdapter>head(Iterables.<ResourceStorageProviderAdapter>filter(resource.getResourceSet().eAdapters(), ResourceStorageProviderAdapter.class));
        if ((stateProvider != null)) {
          final ResourceStorageLoadable inputStream = stateProvider.getResourceStorageLoadable(resource);
          if ((inputStream != null)) {
            return inputStream;
          }
        }
        InputStream _xifexpression = null;
        boolean _exists = resource.getResourceSet().getURIConverter().exists(this.getBinaryStorageURI(resource.getURI()), CollectionLiterals.<Object, Object>emptyMap());
        if (_exists) {
          _xifexpression = resource.getResourceSet().getURIConverter().createInputStream(this.getBinaryStorageURI(resource.getURI()));
        } else {
          InputStream _xblockexpression = null;
          {
            final AbstractFileSystemAccess2 fsa = this.getFileSystemAccess(resource);
            final String outputRelativePath = this.computeOutputPath(resource);
            _xblockexpression = fsa.readBinaryFile(outputRelativePath);
          }
          _xifexpression = _xblockexpression;
        }
        final InputStream inputStream_1 = _xifexpression;
        return this.createResourceStorageLoadable(inputStream_1);
      } catch (Throwable _e) {
        throw Exceptions.sneakyThrow(_e);
      }
    }
docs: Finds or creates a ResourceStorageLoadable for the given resource.
  Clients should first call shouldLoadFromStorage to check whether there exists a storage version
  of the given resource.
  
  @return an IResourceStorageLoadable