public Gfa(ArrayList X, int S, int S0, ArrayList F, ArrayList[,] I)
{
setType(TYPE.Gfa);
this.X = (ArrayList)X.Clone();
if (!X.Contains(EPSILON))
this.X.Add(EPSILON);
this.Read = (ArrayList)X.Clone();
this.S = S;
this.S0 = S0;
this.F = (ArrayList)F.Clone();
InitI(I);
}