code: public static CacheEntry forProperty(final Property property) throws RepositoryException {
          // if it's an external binary, catch that here and treat it differently.
          if (property.getName().endsWith(PROXY_FOR.getLocalName()) ||
                  property.getName().endsWith(REDIRECTS_TO.getLocalName())) {
              LOGGER.debug("Creating ExternalResourceCacheEntry for property: {} {}", property.getName(),
                      property.getValue().toString());
              return new ExternalResourceCacheEntry(property);
          }
  
          final Binary binary = property.getBinary();
  
          if (binary instanceof ExternalBinaryValue) {
             return new ProjectedCacheEntry(property);
          }
          return new BinaryCacheEntry(property);
      }
docs: Load a store-specific CacheEntry model
  @param property the property
  @return CacheEntry model for the property in the given repository
  @throws RepositoryException if repository exception occurred