/*
 * weinre is available under *either* the terms of the modified BSD license *or* the
 * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
 * 
 * Copyright (c) 2010, 2011 IBM Corporation
 */

package com.phonegap.weinre.server.service;


/**
 * 
 */
public class WebInspectorApplicationCacheHandler extends InspectorBackend {

    /**
     * 
     */
    public WebInspectorApplicationCacheHandler() {
        super();
    }

}
