// Path: situation-model/src/main/java/br/ufes/inf/lprm/situation/model/bindings/Part.java
// public interface Part extends Bind {
//     public boolean isKey();
// }
// 
// Path: situation-model/src/main/java/br/ufes/inf/lprm/situation/model/bindings/Snapshot.java
// public interface Snapshot extends Bind {
// 
//     public SnapshotPolicy getPolicy();
// 
// }
// 
// Path: situation-model/src/main/java/br/ufes/inf/lprm/situation/model/SituationType.java
// public interface SituationType extends Type {
//     public String getName();
//     public List<? extends Part> getParts();
//     //public List<Bind> getBinds();
//     public List<? extends Snapshot> getSnapshots();
// 
// }


import br.ufes.inf.lprm.situation.model.bindings.Part;
import br.ufes.inf.lprm.situation.model.bindings.Snapshot;
import br.ufes.inf.lprm.situation.model.SituationType;
import org.drools.core.definitions.rule.impl.RuleImpl;
import org.drools.core.spi.Activation;
import java.util.*;

package br.ufes.inf.lprm.scene.util;



@SuppressWarnings("serial")
public class SituationCast extends HashMap<String, Object> {
	
	private int hash = 17;

	public SituationCast(Activation activation, SituationType type) throws Exception {
		

// Path: situation-model/src/main/java/br/ufes/inf/lprm/situation/model/bindings/Part.java
// public interface Part extends Bind {
//     public boolean isKey();
// }
// 
// Path: situation-model/src/main/java/br/ufes/inf/lprm/situation/model/bindings/Snapshot.java
// public interface Snapshot extends Bind {
// 
//     public SnapshotPolicy getPolicy();
// 
// }
// 
// Path: situation-model/src/main/java/br/ufes/inf/lprm/situation/model/SituationType.java
// public interface SituationType extends Type {
//     public String getName();
//     public List<? extends Part> getParts();
//     //public List<Bind> getBinds();
//     public List<? extends Snapshot> getSnapshots();
// 
// }


// Path: scene-core/src/main/java/br/ufes/inf/lprm/scene/util/SituationCast.java
import br.ufes.inf.lprm.situation.model.bindings.Part;
import br.ufes.inf.lprm.situation.model.bindings.Snapshot;
import br.ufes.inf.lprm.situation.model.SituationType;
import org.drools.core.definitions.rule.impl.RuleImpl;
import org.drools.core.spi.Activation;
import java.util.*;

package br.ufes.inf.lprm.scene.util;



@SuppressWarnings("serial")
public class SituationCast extends HashMap<String, Object> {
	
	private int hash = 17;

	public SituationCast(Activation activation, SituationType type) throws Exception {
		

		int 	counter;
