         different NSURLCache instance to be returned from this method.
         @result the shared NSURLCache instance.
     */
-    public class func sharedURLCache() -> URLCache { NSUnimplemented() }
-    
-    /*! 
-        @method setSharedURLCache:
-        @abstract Sets the NSURLCache instance shared by all clients of
-        the current process. This will be the new object returned when
-        calls to the <tt>sharedURLCache</tt> method are made.
-        @discussion Callers should take care to ensure that this method is called
-        at a time when no other caller has a reference to the previously-set shared
-        URL cache. This is to prevent storing cache data from becoming 
-        unexpectedly unretrievable.
-        @param cache the new shared NSURLCache instance.
-    */
-    public class func setSharedURLCache(_ cache: URLCache) { NSUnimplemented() }
-    
+    public class var shared: URLCache {
+        get {
+            NSUnimplemented()
+        }
+        set {
+            NSUnimplemented()
+        }
+    }
+
     /*! 
         @method initWithMemoryCapacity:diskCapacity:diskPath:
         @abstract Initializes an NSURLCache with the given capacity and

        @param cachedResponse The cached response to store.
        @param request the NSURLRequest to use as a key for the storage.
    */
    public func storeCachedResponse(_ cachedResponse: CachedURLResponse, forRequest request: URLRequest) { NSUnimplemented() }
    
    /*! 
        @method removeCachedResponseForRequest:

        stored with the given request.
        @param request the NSURLRequest to use as a key for the lookup.
    */
    public func removeCachedResponse(for request: URLRequest) { NSUnimplemented() }
    
    /*! 
        @method removeAllCachedResponses
