class WMSLayer extends AbstractModel implements ImageProvider<TileImageKey> {

    public WMSLayer(Builder builder)
    {
        checkConfig(builder);
        myDataTypeInfo = builder.getDataTypeInfo();
        ArrayList<Vector2d> dimensions = new ArrayList<>(builder.getLayerCellDimensions());
        // Comparator that orders coordinates such that smaller ones come first.
        Collections.sort(dimensions, Vector2d.LENGTH_COMPARATOR);
        myLayerCellDimensions = Collections.unmodifiableList(dimensions);
        myImageProvider = builder.getImageProvider();
        myMinimumDisplaySize = builder.getMinimumDisplaySize();
        myMaximumDisplaySize = builder.getMaximumDisplaySize();
        myValidDuration = builder.getValidDuration();
    }

    public  WMSLayer(Builder builder);

}