filter.setPeek(((Integer)v.elementAt(2)).intValue());
filter.setPeek(((JIntLiteral)v.elementAt(2)).intValue());
    public Object visitFieldDeclaration(JFieldDeclaration self,                                      int modifiers,                                      CType type,                                      String ident,                                      JExpression expr)    {	printMe("FieldDeclaration " + ident);	/* Input declaration set the fields for the current	   stream */ 	if (ident.equals("input")) {	    if (!(parentStream instanceof SIRFilter))		at.dms.util.Utils.fail("Input declaration on non-Filter");	    SIRFilter filter = (SIRFilter)parentStream;	    Vector v = (Vector)expr.accept(this);	    setInputType(filter, (String)v.elementAt(0));	    filter.setPop(((Integer)v.elementAt(1)).intValue());	    //If a peek value is given, and it is greater than pops	    //set the peek	    if (v.size() > 2) {		if (((Integer)v.elementAt(2)).intValue() < 		    ((Integer)v.elementAt(1)).intValue())		    at.dms.util.Utils.fail("Peeks less than Pops!");		filter.setPeek(((Integer)v.elementAt(2)).intValue());	    }	    else  //Otherwise set the peeks to the number of pops		filter.setPeek(((Integer)v.elementAt(1)).intValue());	    return self;	}		/* Output declaration set the fields for the current	   stream */ 	else if (ident.equals("output")) {	    if (!(parentStream instanceof SIRFilter))		at.dms.util.Utils.fail("Output declaration on non-Filter");	    SIRFilter filter = (SIRFilter)parentStream;	    Vector v = (Vector)expr.accept(this);	    int push = ((Integer)v.elementAt(1)).intValue();	    filter.setPush(push);	    setOutputType(filter, (String)v.elementAt(0));	    return self;	}	else {   /*Normal field declaration, add this field */	    parentStream.addField(self);	}	if (expr != null) 	    trash = expr.accept(this);	return self;    }