// Path: library/src/main/java/com/veinhorn/scrollgalleryview/MediaInfo.java
// public class MediaInfo {
//     private MediaLoader mLoader;
//     private String description;
// 
//     private MediaInfo() {
// 
//     }
// 
//     private MediaInfo(MediaLoader mediaLoader, String description) {
//         this.mLoader = mediaLoader;
//         this.description = description;
//     }
// 
//     /**
//      * Creates MediaInfo object from MediaLoader
//      * @param mediaLoader
//      * @return MediaInfo object
//      */
//     public static MediaInfo mediaLoader(MediaLoader mediaLoader) {
//         return new MediaInfo().setLoader(mediaLoader);
//     }
// 
//     public static MediaInfo mediaLoader(MediaLoader mediaLoader, String description) {
//         return new MediaInfo(mediaLoader, description);
//     }
// 
//     public MediaLoader getLoader() {
//         return mLoader;
//     }
// 
//     public MediaInfo setLoader(MediaLoader loader) {
//         mLoader = loader;
//         return this;
//     }
// 
//     public String getDescription() {
//         return description;
//     }
// }
// 
// Path: picasso-loader/src/main/java/com/veinhorn/scrollgalleryview/loader/picasso/PicassoMediaHelper.java
// public class PicassoMediaHelper extends BasicMediaHelper {
//     @Override
//     public MediaInfo image(String url) {
//         return mediaInfo(url, null);
//     }
// 
//     @Override
//     public MediaInfo image(String url, String description) {
//         return mediaInfo(url, description);
//     }
// 
//     @Override
//     public List<MediaInfo> images(List<String> urls) {
//         List<MediaInfo> medias = new ArrayList<>();
// 
//         for (String url : urls) {
//             medias.add(mediaInfo(url));
//         }
// 
//         return medias;
//     }
// 
//     @Override
//     public List<MediaInfo> images(String... urls) {
//         return images(Arrays.asList(urls));
//     }
// 
//     private MediaInfo mediaInfo(String url) {
//         return mediaInfo(url, null);
//     }
// 
//     // TODO: Add null checking for image url
//     private MediaInfo mediaInfo(String url, String description) {
//         if (description != null) {
//             return MediaInfo.mediaLoader(new PicassoImageLoader(url), description);
//         }
//         return MediaInfo.mediaLoader(new PicassoImageLoader(url));
//     }
// }


import com.veinhorn.scrollgalleryview.MediaInfo;
import com.veinhorn.scrollgalleryview.loader.picasso.PicassoMediaHelper;
import java.util.List;
package com.veinhorn.scrollgalleryview.loader.picasso.dsl;



public class DSL {
    private static PicassoMediaHelper mediaHelper = new PicassoMediaHelper();

// Path: library/src/main/java/com/veinhorn/scrollgalleryview/MediaInfo.java
// public class MediaInfo {
//     private MediaLoader mLoader;
//     private String description;
// 
//     private MediaInfo() {
// 
//     }
// 
//     private MediaInfo(MediaLoader mediaLoader, String description) {
//         this.mLoader = mediaLoader;
//         this.description = description;
//     }
// 
//     /**
//      * Creates MediaInfo object from MediaLoader
//      * @param mediaLoader
//      * @return MediaInfo object
//      */
//     public static MediaInfo mediaLoader(MediaLoader mediaLoader) {
//         return new MediaInfo().setLoader(mediaLoader);
//     }
// 
//     public static MediaInfo mediaLoader(MediaLoader mediaLoader, String description) {
//         return new MediaInfo(mediaLoader, description);
//     }
// 
//     public MediaLoader getLoader() {
//         return mLoader;
//     }
// 
//     public MediaInfo setLoader(MediaLoader loader) {
//         mLoader = loader;
//         return this;
//     }
// 
//     public String getDescription() {
//         return description;
//     }
// }
// 
// Path: picasso-loader/src/main/java/com/veinhorn/scrollgalleryview/loader/picasso/PicassoMediaHelper.java
// public class PicassoMediaHelper extends BasicMediaHelper {
//     @Override
//     public MediaInfo image(String url) {
//         return mediaInfo(url, null);
//     }
// 
//     @Override
//     public MediaInfo image(String url, String description) {
//         return mediaInfo(url, description);
//     }
// 
//     @Override
//     public List<MediaInfo> images(List<String> urls) {
//         List<MediaInfo> medias = new ArrayList<>();
// 
//         for (String url : urls) {
//             medias.add(mediaInfo(url));
//         }
// 
//         return medias;
//     }
// 
//     @Override
//     public List<MediaInfo> images(String... urls) {
//         return images(Arrays.asList(urls));
//     }
// 
//     private MediaInfo mediaInfo(String url) {
//         return mediaInfo(url, null);
//     }
// 
//     // TODO: Add null checking for image url
//     private MediaInfo mediaInfo(String url, String description) {
//         if (description != null) {
//             return MediaInfo.mediaLoader(new PicassoImageLoader(url), description);
//         }
//         return MediaInfo.mediaLoader(new PicassoImageLoader(url));
//     }
// }


// Path: picasso-loader/src/main/java/com/veinhorn/scrollgalleryview/loader/picasso/dsl/DSL.java
import com.veinhorn.scrollgalleryview.MediaInfo;
import com.veinhorn.scrollgalleryview.loader.picasso.PicassoMediaHelper;
import java.util.List;

package com.veinhorn.scrollgalleryview.loader.picasso.dsl;



public class DSL {
    private static PicassoMediaHelper mediaHelper = new PicassoMediaHelper();

    public static MediaInfo image(String url) {