@Override
	protected Tableau clone() throws CloneNotSupportedException {
		// TODO Auto-generated method stub
		Tableau clone = new Tableau();
		clone.ontologies = this.ontologies;
		clone.factory = this.factory;
		clone.nodes = new ArrayList<OWLIndividual>(this.nodes);
		clone.blocked = new HashSet<OWLIndividual>(this.blocked);
		clone.nodeLabels = new HashMap<OWLIndividual, HashSet<OWLClassExpression>>();
		for(Entry<OWLIndividual, HashSet<OWLClassExpression>> entry:this.nodeLabels.entrySet())
		{
			HashSet<OWLClassExpression> labels = new HashSet<OWLClassExpression>(entry.getValue());
			clone.nodeLabels.put(entry.getKey(), labels);
		}
		for(Entry<OWLIndividual, HashMap<OWLObjectPropertyExpression, HashSet<OWLIndividual>>> entry:this.edges.entrySet())
		{
			HashMap<OWLObjectPropertyExpression, HashSet<OWLIndividual>> relations = new HashMap<OWLObjectPropertyExpression, HashSet<OWLIndividual>>();
			clone.edges.put(entry.getKey(), relations);
			for(Entry<OWLObjectPropertyExpression, HashSet<OWLIndividual>> relationEntry:entry.getValue().entrySet())
			{
				HashSet<OWLIndividual> objects = new HashSet<OWLIndividual>(relationEntry.getValue());
				relations.put(relationEntry.getKey(), objects);
			}
		}
		return clone;
	}