code: @Nullable
      public V get() {
          if (!valueRetrieved) {
              cacheValue = databaseReader.get();
              valueRetrieved = true;
          }
          return cacheValue;
      }
docs: Retrieves the object in the cache. If nothing is cached the database is read.
  
  @return The cached object.