Vector partBuffer = new Vector ();
ArrayList partBuffer = new ArrayList ();
    public void parse (String content) {	Vector partBuffer = new Vector ();	int l = content.length ();	char cnt[] = new char[l];	content.getChars (0, l, cnt, 0);	int lastIdx = 0;	for (int i = 0; i < l-1; i++) {	    if (cnt[i] == '<' && cnt[i+1] == '%') {	        int j = i+2;	        while (j < l-1 && (cnt[j] != '%' || cnt[j+1] != '>')) {	            j++;	        }	        if (j > i+2) {	            if (i - lastIdx > 0)	                partBuffer.addElement (new String (cnt, lastIdx, i - lastIdx));	            String macrotext = new String (cnt, i+2, (j-i)-2);	            partBuffer.addElement (new Macro (macrotext));	            lastIdx = j+2;	        }	        i = j+1;	    }	}	if (lastIdx < l)	    partBuffer.addElement (new String (cnt, lastIdx, l - lastIdx));             parts = partBuffer.toArray ();   }