// 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.*;
	}
	
	public BasicNetwork(int numberOfNodes) {
		setBasicNodes(numberOfNodes);
	}
	
	public void setBasicNodes(int numberOfNodes) {
		this.numberOfNodes = numberOfNodes;
		nodes = new ArrayList<NetworkNode>();
		for (int i = 0; i < numberOfNodes; i++) {
			nodes.add( new BasicNode() );
		}
	}
	
	@Override
	public void setNodes(List<NetworkNode> nn) {
		this.nodes = nn;
	}

	@Override
	public int getNumberOfNodes() {
		return numberOfNodes;
	}
	
	@Override
	public boolean isDirected() {
		return directed;
	}
	
	@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/networks/BasicNetwork.java
import io.Parameter;
import java.util.*;

	}
	
	public BasicNetwork(int numberOfNodes) {
		setBasicNodes(numberOfNodes);
	}
	
	public void setBasicNodes(int numberOfNodes) {
		this.numberOfNodes = numberOfNodes;
		nodes = new ArrayList<NetworkNode>();
		for (int i = 0; i < numberOfNodes; i++) {
			nodes.add( new BasicNode() );
		}
	}
	
	@Override
	public void setNodes(List<NetworkNode> nn) {
		this.nodes = nn;
	}

	@Override
	public int getNumberOfNodes() {
		return numberOfNodes;
	}
	
	@Override
	public boolean isDirected() {
		return directed;
	}
	
	@Override
	public void setParameter(Parameter p) {