// Path: src/io/Parameter.java
// public class Parameter {
// 	
// 		String id;
// 		String value;
// 		String parentTag;
// 		int	   parentNumber;
// 		
// 		public Parameter(String parentTag, int parentNumber, Element el) {
// 			this.id 			= el.getAttribute("id");
// 			this.value 			= el.getAttribute("value");
// 			this.parentTag 		= parentTag;
// 			this.parentNumber 	= parentNumber;
// 		}
// 		
// 		/**
// 		 * use this constructor to make a dummy object which is used in searches ( e.g. ArrayList . contains etc)
// 		 * @param id
// 		 */
// 		public Parameter(String id) {
// 			this.id = id;
// 		}
// 		
// 		/**
// 		 * use this constructor to make simple parameters (e.g. when not configuring from XML).
// 		 * @param id
// 		 * @param value
// 		 */
// 		public Parameter(String id, String value) {
// 			this.parentTag    = "";
// 			this.parentNumber = 0;
// 			this.id 	= id;
// 			this.value 	= value;
// 		}
// 		
// 		//////////////////////////////////////////////////////////////////////////////////
// 		
// 		/**
// 		 * @return the id
// 		 */
// 		public String getId() {
// 			return id;
// 		}
// 
// 		/**
// 		 * @return the value
// 		 */
// 		public String getValue() {
// 			return value;
// 		}
// 
// 		/**
// 		 * @return the parentTag
// 		 */
// 		public String getParentTag() {
// 			return parentTag;
// 		}
// 
// 		/**
// 		 * @return the parentNumber
// 		 */
// 		public int getParentNumber() {
// 			return parentNumber;
// 		}
// 		
// 		
// 		//////////////////////////////////////////////////////////////////////////////////
// 		
// 		
// 		public String[] getNameValuePair() {
// 			String[] pair = new String[2];
// 			pair[0] = id;
// 			pair[1] = value;
// 			return pair;
// 		}
// 		
// 		//////////////////////////////////////////////////////////////////////////////////
// 		
// 		public String toString() {
// 			return (parentTag + "-" + parentNumber + "\t" + id + "\t" + value);
// 		}
// 
// 		
// 
// 		//////////////////////////////////////////////////////////////////////////////////
// 		// hash code and equals based on id only
// 		
// 		/* (non-Javadoc)
// 		 * @see java.lang.Object#hashCode()
// 		 */
// 		@Override
// 		public int hashCode() {
// 			final int prime = 31;
// 			int result = 1;
// 			result = prime * result + ((id == null) ? 0 : id.hashCode());
// 			return result;
// 		}
// 
// 		/* (non-Javadoc)
// 		 * @see java.lang.Object#equals(java.lang.Object)
// 		 */
// 		@Override
// 		public boolean equals(Object obj) {
// 			if (this == obj)
// 				return true;
// 			if (obj == null)
// 				return false;
// 			if (!(obj instanceof Parameter))
// 				return false;
// 			Parameter other = (Parameter) obj;
// 			if (id == null) {
// 				if (other.id != null)
// 					return false;
// 			} else if (!id.equals(other.id))
// 				return false;
// 			return true;
// 		}
// 
// 
// 		
// 		
// 		
// }


import io.Parameter;
import java.util.List;
import java.util.ArrayList;
	public void setSamplerParameters(List<String[]> params) {
		
		int i 				= 0;
		boolean found 		= false;
		String className 	= this.getClass().getName(); 
		
		while ( (i < params.size()) && (!found) ) {
			String[] pairs = params.get(i);
			
			if (pairs[0].equals("SamplerType")) {
				found = (pairs[1].equals(className));
			}
			
			i++;
		}
		
		if (found) {
			while (i < params.size()) {
				String[] pairs = params.get(i);
				
				if (pairs[0].equals("justBefore")) {
					justBefore = Double.parseDouble(pairs[1]);
				}
				i++;
			}
		}
	}
	*/
	
	@Override
// Path: src/io/Parameter.java
// public class Parameter {
// 	
// 		String id;
// 		String value;
// 		String parentTag;
// 		int	   parentNumber;
// 		
// 		public Parameter(String parentTag, int parentNumber, Element el) {
// 			this.id 			= el.getAttribute("id");
// 			this.value 			= el.getAttribute("value");
// 			this.parentTag 		= parentTag;
// 			this.parentNumber 	= parentNumber;
// 		}
// 		
// 		/**
// 		 * use this constructor to make a dummy object which is used in searches ( e.g. ArrayList . contains etc)
// 		 * @param id
// 		 */
// 		public Parameter(String id) {
// 			this.id = id;
// 		}
// 		
// 		/**
// 		 * use this constructor to make simple parameters (e.g. when not configuring from XML).
// 		 * @param id
// 		 * @param value
// 		 */
// 		public Parameter(String id, String value) {
// 			this.parentTag    = "";
// 			this.parentNumber = 0;
// 			this.id 	= id;
// 			this.value 	= value;
// 		}
// 		
// 		//////////////////////////////////////////////////////////////////////////////////
// 		
// 		/**
// 		 * @return the id
// 		 */
// 		public String getId() {
// 			return id;
// 		}
// 
// 		/**
// 		 * @return the value
// 		 */
// 		public String getValue() {
// 			return value;
// 		}
// 
// 		/**
// 		 * @return the parentTag
// 		 */
// 		public String getParentTag() {
// 			return parentTag;
// 		}
// 
// 		/**
// 		 * @return the parentNumber
// 		 */
// 		public int getParentNumber() {
// 			return parentNumber;
// 		}
// 		
// 		
// 		//////////////////////////////////////////////////////////////////////////////////
// 		
// 		
// 		public String[] getNameValuePair() {
// 			String[] pair = new String[2];
// 			pair[0] = id;
// 			pair[1] = value;
// 			return pair;
// 		}
// 		
// 		//////////////////////////////////////////////////////////////////////////////////
// 		
// 		public String toString() {
// 			return (parentTag + "-" + parentNumber + "\t" + id + "\t" + value);
// 		}
// 
// 		
// 
// 		//////////////////////////////////////////////////////////////////////////////////
// 		// hash code and equals based on id only
// 		
// 		/* (non-Javadoc)
// 		 * @see java.lang.Object#hashCode()
// 		 */
// 		@Override
// 		public int hashCode() {
// 			final int prime = 31;
// 			int result = 1;
// 			result = prime * result + ((id == null) ? 0 : id.hashCode());
// 			return result;
// 		}
// 
// 		/* (non-Javadoc)
// 		 * @see java.lang.Object#equals(java.lang.Object)
// 		 */
// 		@Override
// 		public boolean equals(Object obj) {
// 			if (this == obj)
// 				return true;
// 			if (obj == null)
// 				return false;
// 			if (!(obj instanceof Parameter))
// 				return false;
// 			Parameter other = (Parameter) obj;
// 			if (id == null) {
// 				if (other.id != null)
// 					return false;
// 			} else if (!id.equals(other.id))
// 				return false;
// 			return true;
// 		}
// 
// 
// 		
// 		
// 		
// }


// Path: src/individualBasedModel/JustBeforeRecoverySampler.java
import io.Parameter;
import java.util.List;
import java.util.ArrayList;

	public void setSamplerParameters(List<String[]> params) {
		
		int i 				= 0;
		boolean found 		= false;
		String className 	= this.getClass().getName(); 
		
		while ( (i < params.size()) && (!found) ) {
			String[] pairs = params.get(i);
			
			if (pairs[0].equals("SamplerType")) {
				found = (pairs[1].equals(className));
			}
			
			i++;
		}
		
		if (found) {
			while (i < params.size()) {
				String[] pairs = params.get(i);
				
				if (pairs[0].equals("justBefore")) {
					justBefore = Double.parseDouble(pairs[1]);
				}
				i++;
			}
		}
	}
	*/
	
	@Override
	public void setSamplerParameters(List<Parameter> params) {