diff --git a/lib/pdf/reader/object_cache.rb b/lib/pdf/reader/object_cache.rb
index <HASH>..<HASH> 100644
--- a/lib/pdf/reader/object_cache.rb
+++ b/lib/pdf/reader/object_cache.rb
@@ -6,7 +6,7 @@ class PDF::Reader
 
   # A Hash-like object for caching commonly used objects from a PDF file.
   #
-  # This is an internal class used by PDF::Reader::ObjectHash
+  # This is an internal class, no promises about a stable API.
   #
   class ObjectCache # nodoc
 
diff --git a/lib/pdf/reader/object_hash.rb b/lib/pdf/reader/object_hash.rb
index <HASH>..<HASH> 100644
--- a/lib/pdf/reader/object_hash.rb
+++ b/lib/pdf/reader/object_hash.rb
@@ -44,7 +44,7 @@ class PDF::Reader
       @pdf_version = read_version
       @xref        = PDF::Reader::XRef.new(@io)
       @trailer     = @xref.trailer
-      @cache       = PDF::Reader::ObjectCache.new
+      @cache       = opts[:cache] || PDF::Reader::ObjectCache.new
       @sec_handler = build_security_handler(opts)
     end
make ObjectCache available document-wide

* to experiment with caching 'stuff' at a higher level than just PDF
  objects
* prime candidates are PDF::Reader::Page and PDF::Reader::FormXObject's
  that can memoize expensive parsing calls