/* Template - Decompiled by JODE
 * Visit http://jode.sourceforge.net/
 */
package alloy.sharbool;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;

import alloy.util.ObjID;

class Template extends ObjID
{
    Set parents = new TreeSet();
    Template[] children;
    List instances = new ArrayList();
    List argMults;
    
    TemplateInstance getAnInstance() {
	return (TemplateInstance) instances.get(0);
    }
    
    int getNumArgs() {
	return getAnInstance().args.size();
    }
    
    void keepOnlyArgs(List list) {
	if (list.size() < getNumArgs()) {
	    Iterator iterator = instances.iterator();
	    while (iterator.hasNext()) {
		TemplateInstance templateinstance
		    = (TemplateInstance) iterator.next();
		ArrayList arraylist = new ArrayList();
		Iterator iterator_0_ = list.iterator();
		while (iterator_0_.hasNext()) {
		    Integer integer = (Integer) iterator_0_.next();
		    arraylist
			.add(templateinstance.args.get(integer.intValue()));
		}
		templateinstance.args = arraylist;
	    }
	}
    }
}
