// Path: src/main/java/com/greensopinion/swagger/jaxrsgen/MoreObjects.java
// public class MoreObjects {
// 
// 	public static <T> T firstNonNull(T first, T second) {
// 		return first == null ? second : first;
// 	}
// }


import static com.google.common.base.Preconditions.checkNotNull;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.google.common.base.Joiner;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Sets;
import com.google.gson.annotations.SerializedName;
import com.greensopinion.swagger.jaxrsgen.MoreObjects;
	}

	public Set<Class<?>> getModelClasses() {
		Set<Class<?>> modelClasses = Sets.newHashSet();
		if (returnType != null && ApiTypes.isModelClass(returnType)) {
			modelClasses.add(ApiTypes.modelClass(returnType));
		}
		for (Parameter parameter : getParameters()) {
			if (parameter.getTypeClass() != null && ApiTypes.isModelClass(parameter.getTypeClass())) {
				modelClasses.add(ApiTypes.modelClass(parameter.getTypeClass()));
			}
		}
		for (ResponseMessage responseMessage : getResponseMessages()) {
			if (responseMessage.getTypeClass() != null && ApiTypes.isModelClass(responseMessage.getTypeClass())) {
				modelClasses.add(ApiTypes.modelClass(responseMessage.getTypeClass()));
			}
		}
		return ImmutableSet.copyOf(modelClasses);
	}

	public static ServiceOperationBuilder builder() {
		return new ServiceOperationBuilder();
	}

	@Override
	public int compareTo(ServiceOperation o) {
		return compareString().compareTo(o.compareString());
	}

	private String compareString() {
// Path: src/main/java/com/greensopinion/swagger/jaxrsgen/MoreObjects.java
// public class MoreObjects {
// 
// 	public static <T> T firstNonNull(T first, T second) {
// 		return first == null ? second : first;
// 	}
// }


// Path: src/main/java/com/greensopinion/swagger/jaxrsgen/model/ServiceOperation.java
import static com.google.common.base.Preconditions.checkNotNull;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.google.common.base.Joiner;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Sets;
import com.google.gson.annotations.SerializedName;
import com.greensopinion.swagger.jaxrsgen.MoreObjects;

	}

	public Set<Class<?>> getModelClasses() {
		Set<Class<?>> modelClasses = Sets.newHashSet();
		if (returnType != null && ApiTypes.isModelClass(returnType)) {
			modelClasses.add(ApiTypes.modelClass(returnType));
		}
		for (Parameter parameter : getParameters()) {
			if (parameter.getTypeClass() != null && ApiTypes.isModelClass(parameter.getTypeClass())) {
				modelClasses.add(ApiTypes.modelClass(parameter.getTypeClass()));
			}
		}
		for (ResponseMessage responseMessage : getResponseMessages()) {
			if (responseMessage.getTypeClass() != null && ApiTypes.isModelClass(responseMessage.getTypeClass())) {
				modelClasses.add(ApiTypes.modelClass(responseMessage.getTypeClass()));
			}
		}
		return ImmutableSet.copyOf(modelClasses);
	}

	public static ServiceOperationBuilder builder() {
		return new ServiceOperationBuilder();
	}

	@Override
	public int compareTo(ServiceOperation o) {
		return compareString().compareTo(o.compareString());
	}

	private String compareString() {
		return Joiner.on(";;").join(httpMethod, path, MoreObjects.firstNonNull(nickname, ""),