// Path: src/main/java/info/interactivesystems/gamificationengine/api/exeption/ErrorMessage.java
// public class ErrorMessage implements Serializable {
// 
// 	private static final long serialVersionUID = 9039774438272543442L;
// 
// 	private CharSequence message;
// 
// 	public static ErrorMessage of(CharSequence message) {
// 		ErrorMessage errorMessage = new ErrorMessage();
// 		errorMessage.setMessage(message);
// 		return errorMessage;
// 	}
// 
// 	public void setMessage(CharSequence message) {
// 		this.message = message;
// 	}
// 
// 	public CharSequence getMessage() {
// 		return message;
// 	}
// }
// 
// Path: src/main/java/info/interactivesystems/gamificationengine/api/exeption/Notification.java
// public class Notification {
// 
// 	private final List<ErrorMessage> errors = new ArrayList<>();
// 	
// 	public static Notification of(CharSequence... messages) {
// 		Notification notification = new Notification();
// 		Stream.of(messages).forEach(notification::addError);
// 		return notification;
// 	}
// 
// 	public void addError(CharSequence message) {
// 		errors.add(ErrorMessage.of(message));
// 	}
// 
// 	public List<ErrorMessage> getErrors() {
// 		return errors;
// 	}
// 
// 	public boolean hasErrors() {
// 		return !errors.isEmpty();
// 	}
// 
// }


import info.interactivesystems.gamificationengine.api.exeption.ErrorMessage;
import info.interactivesystems.gamificationengine.api.exeption.Notification;
import java.util.List;
import java.util.Optional;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import com.fasterxml.jackson.annotation.JsonProperty;
	}

	public static <T> Response of(T content, MediaType mediaType) {
		return of(null, mediaType, content, null, null);
	}

	public static <T> Response of(Response.Status status, T content, MediaType mediaType) {
		return of(status, mediaType, content, null, null);
	}

	public static <T> Response created(T content) {
		return created(content, null);
	}

	public static <T> Response created(T content, Notification notification) {
		return of(Response.Status.CREATED, null, content, null, notification);
	}

	public static <T> Response updated(T content) {
		return updated(content, null);
	}

	public static <T> Response updated(T content, Notification notification) {
		return of(Response.Status.OK, null, content, null, notification);
	}

	public static <T> Response deleted(T content) {
		return deleted(content, null);
	}

// Path: src/main/java/info/interactivesystems/gamificationengine/api/exeption/ErrorMessage.java
// public class ErrorMessage implements Serializable {
// 
// 	private static final long serialVersionUID = 9039774438272543442L;
// 
// 	private CharSequence message;
// 
// 	public static ErrorMessage of(CharSequence message) {
// 		ErrorMessage errorMessage = new ErrorMessage();
// 		errorMessage.setMessage(message);
// 		return errorMessage;
// 	}
// 
// 	public void setMessage(CharSequence message) {
// 		this.message = message;
// 	}
// 
// 	public CharSequence getMessage() {
// 		return message;
// 	}
// }
// 
// Path: src/main/java/info/interactivesystems/gamificationengine/api/exeption/Notification.java
// public class Notification {
// 
// 	private final List<ErrorMessage> errors = new ArrayList<>();
// 	
// 	public static Notification of(CharSequence... messages) {
// 		Notification notification = new Notification();
// 		Stream.of(messages).forEach(notification::addError);
// 		return notification;
// 	}
// 
// 	public void addError(CharSequence message) {
// 		errors.add(ErrorMessage.of(message));
// 	}
// 
// 	public List<ErrorMessage> getErrors() {
// 		return errors;
// 	}
// 
// 	public boolean hasErrors() {
// 		return !errors.isEmpty();
// 	}
// 
// }


// Path: src/main/java/info/interactivesystems/gamificationengine/api/ResponseSurrogate.java
import info.interactivesystems.gamificationengine.api.exeption.ErrorMessage;
import info.interactivesystems.gamificationengine.api.exeption.Notification;
import java.util.List;
import java.util.Optional;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import com.fasterxml.jackson.annotation.JsonProperty;

	}

	public static <T> Response of(T content, MediaType mediaType) {
		return of(null, mediaType, content, null, null);
	}

	public static <T> Response of(Response.Status status, T content, MediaType mediaType) {
		return of(status, mediaType, content, null, null);
	}

	public static <T> Response created(T content) {
		return created(content, null);
	}

	public static <T> Response created(T content, Notification notification) {
		return of(Response.Status.CREATED, null, content, null, notification);
	}

	public static <T> Response updated(T content) {
		return updated(content, null);
	}

	public static <T> Response updated(T content, Notification notification) {
		return of(Response.Status.OK, null, content, null, notification);
	}

	public static <T> Response deleted(T content) {
		return deleted(content, null);
	}

	public static <T> Response deleted(T content, Notification notification) {