// Path: soundcloud-api/src/main/java/com/jlubecki/soundcloud/webapi/android/models/Track.java
// public enum Filter {
//     ALL("all"),
//     PUBLIC("public"),
//     PRIVATE("private");
// 
//     private final String filter;
// 
//     Filter(String filter) {
//         this.filter = filter;
//     }
// 
//     @Override
//     public String toString() {
//         return filter;
//     }
// }
// 
// Path: soundcloud-api/src/main/java/com/jlubecki/soundcloud/webapi/android/models/Track.java
// public enum License {
// 
//     ALL_RIGHTS_RESERVED("all-rights-reserved"),
//     NO_RIGHTS_RESERVED("no-rights-reserved"),
//     CC_ATTRIBUTION("cc-by"),
//     CC_ATTRIBUTION_NONCOMMERCIAL("cc-by-nc"),
//     CC_ATTRIBUTION_NO_DERIVATIVES("cc-by-nd"),
//     CC_ATTRIBUTION_SHARE_ALIKE("cc-by-sa"),
//     CC_ATTRIBUTION_NONCOMMERCIAL_NO_DERIVATES("cc-by-nc-nd"),
//     CC_ATTRIBUTION_NONCOMMERCIAL_SHARE_ALIKE("cc-by-nc-sa");
// 
//     private final String license;
// 
//     License(String license) {
//         this.license = license;
//     }
// 
//     @Override
//     public String toString() {
//         return license;
//     }
// }
// 
// Path: soundcloud-api/src/main/java/com/jlubecki/soundcloud/webapi/android/models/Track.java
// public enum Type {
// 
//     ORIGINAL("original"),
//     REMIX("remix"),
//     LIVE("live"),
//     RECORDING("recording"),
//     SPOKEN("spoken"),
//     PODCAST("podcast"),
//     DEMO("demo"),
//     IN_PROGRESS("in progress"),
//     STEM("stem"),
//     LOOP("loop"),
//     SOUND_EFFECT("sound effect"),
//     SAMPLE("sample"),
//     OTHER("other");
// 
//     private final String type;
// 
//     Type(String type) {
//         this.type = type;
//     }
// 
//     @Override
//     public String toString() {
//         return type;
//     }
// }


import static com.jlubecki.soundcloud.webapi.android.models.Track.Filter;
import static com.jlubecki.soundcloud.webapi.android.models.Track.License;
import static com.jlubecki.soundcloud.webapi.android.models.Track.Type;
import android.support.annotation.IntRange;
import android.support.annotation.Nullable;
import android.text.TextUtils;
import java.util.HashMap;
        private String createdAtFrom;
        private String createdAtTo;
        private String ids;
        private String genres;
        private String types;

        public Builder setQuery(String query) {
            this.query = query;

            return this;
        }

        public Builder setTags(String... tagArray) {
            this.tags = TextUtils.join(", ", tagArray);

            return this;
        }

        public Builder setFilter(Filter filter) {
            this.filter = filter;

            return this;
        }

        public Builder setLicense(License license) {
            this.license = license;

            return this;
        }

// Path: soundcloud-api/src/main/java/com/jlubecki/soundcloud/webapi/android/models/Track.java
// public enum Filter {
//     ALL("all"),
//     PUBLIC("public"),
//     PRIVATE("private");
// 
//     private final String filter;
// 
//     Filter(String filter) {
//         this.filter = filter;
//     }
// 
//     @Override
//     public String toString() {
//         return filter;
//     }
// }
// 
// Path: soundcloud-api/src/main/java/com/jlubecki/soundcloud/webapi/android/models/Track.java
// public enum License {
// 
//     ALL_RIGHTS_RESERVED("all-rights-reserved"),
//     NO_RIGHTS_RESERVED("no-rights-reserved"),
//     CC_ATTRIBUTION("cc-by"),
//     CC_ATTRIBUTION_NONCOMMERCIAL("cc-by-nc"),
//     CC_ATTRIBUTION_NO_DERIVATIVES("cc-by-nd"),
//     CC_ATTRIBUTION_SHARE_ALIKE("cc-by-sa"),
//     CC_ATTRIBUTION_NONCOMMERCIAL_NO_DERIVATES("cc-by-nc-nd"),
//     CC_ATTRIBUTION_NONCOMMERCIAL_SHARE_ALIKE("cc-by-nc-sa");
// 
//     private final String license;
// 
//     License(String license) {
//         this.license = license;
//     }
// 
//     @Override
//     public String toString() {
//         return license;
//     }
// }
// 
// Path: soundcloud-api/src/main/java/com/jlubecki/soundcloud/webapi/android/models/Track.java
// public enum Type {
// 
//     ORIGINAL("original"),
//     REMIX("remix"),
//     LIVE("live"),
//     RECORDING("recording"),
//     SPOKEN("spoken"),
//     PODCAST("podcast"),
//     DEMO("demo"),
//     IN_PROGRESS("in progress"),
//     STEM("stem"),
//     LOOP("loop"),
//     SOUND_EFFECT("sound effect"),
//     SAMPLE("sample"),
//     OTHER("other");
// 
//     private final String type;
// 
//     Type(String type) {
//         this.type = type;
//     }
// 
//     @Override
//     public String toString() {
//         return type;
//     }
// }


// Path: soundcloud-api/src/main/java/com/jlubecki/soundcloud/webapi/android/query/TrackQuery.java
import static com.jlubecki.soundcloud.webapi.android.models.Track.Filter;
import static com.jlubecki.soundcloud.webapi.android.models.Track.License;
import static com.jlubecki.soundcloud.webapi.android.models.Track.Type;
import android.support.annotation.IntRange;
import android.support.annotation.Nullable;
import android.text.TextUtils;
import java.util.HashMap;

        private String createdAtFrom;
        private String createdAtTo;
        private String ids;
        private String genres;
        private String types;

        public Builder setQuery(String query) {
            this.query = query;

            return this;
        }

        public Builder setTags(String... tagArray) {
            this.tags = TextUtils.join(", ", tagArray);

            return this;
        }

        public Builder setFilter(Filter filter) {
            this.filter = filter;

            return this;
        }

        public Builder setLicense(License license) {
            this.license = license;

            return this;
        }

        public Builder setTypes(Type... types) {