/*
 * #%L
 * GwtMaterial
 * %%
 * Copyright (C) 2015 - 2017 GwtMaterialDesign
 * %%
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * #L%
 */
package gwt.material.design.client.base.viewport;

import java.util.ArrayList;
import java.util.List;

public class ViewPort {

    private List<ViewPortHandler> handlers = new ArrayList<>();

    public static ViewPortHandler when(Resolution resolution, Resolution... other) {
        ViewPort viewPort = new ViewPort();
        ViewPortHandler handler = new ViewPortHandler(viewPort, resolution, other);
        viewPort.handlers.add(handler);
        return handler;
    }

    public ViewPortHandler or(Resolution resolution, Resolution... other) {
        return when(resolution, other);
    }

    public ViewPort unload() {
        for(ViewPortHandler handler : handlers) {
            handler.unload();
        }
        return this;
    }

    public ViewPort load() {
        for(ViewPortHandler handler : handlers) {
            handler.load();
        }
        return this;
    }

    public ViewPort destroy() {
        for(ViewPortHandler handler : handlers) {
            handler.destroy();
        }
        return this;
    }
}

@@ -749,16 +749,56 @@
 .List;%0A%0A
+/**%0A * View port detection utility.%0A */%0A
 public c
@@ -879,16 +879,85 @@
 t%3C%3E();%0A%0A
+    /**%0A     * When %7B@link ViewPort%7D resolution is detected.%0A     */%0A
     publ
@@ -1224,32 +1224,109 @@
 handler;%0A    %7D%0A%0A
+    /**%0A     * Or when this %7B@link ViewPort%7D resolution is detected.%0A     */%0A
     public ViewP
@@ -1424,32 +1424,87 @@
  other);%0A    %7D%0A%0A
+    /**%0A     * Unload the view port detection.%0A     */%0A
     public ViewP
@@ -1628,32 +1628,85 @@
 rn this;%0A    %7D%0A%0A
+    /**%0A     * Load the view port detection.%0A     */%0A
     public ViewP
@@ -1830,24 +1830,167 @@
 his;%0A    %7D%0A%0A
+    /**%0A     * Destroy the view port detection (use %7B@link #unload()%7D to temporarily%0A     * disable then %7B@link #load()%7D to re-enable.%0A     */%0A
     public V

Add javadocs to ViewPort.