Code:
public static void load_602(int file){
    		try {
	    		Stream stream = new Stream(FileOperations.ReadFile(signlink.findcachedir() + +file+".dat"));
			Class18 class18 = new Class18(stream, 0);
        		int k1 = stream.readUnsignedWord();
			animationlist[file] = new Class36[(int) (k1 * 3.0)];
	    		int ai[] = new int[500];
        		int ai1[] = new int[500];
        		int ai2[] = new int[500];
        		int ai3[] = new int[500];
        		for(int l1 = 0; l1 < k1; l1++) {
	            	int i2 = stream.readUnsignedWord();
            		Class36 class36 = animationlist[file][i2] = new Class36();
            		class36.aClass18_637 = class18;
            		int j2 = stream.readUnsignedByte();
            		int l2 = 0;
				int k2 = -1;
            		for(int i3 = 0; i3 < j2; i3++) {
                		int j3 = stream.readUnsignedByte();
                		if(j3 > 0) {
                    			if(class18.anIntArray342[i3] != 0) {
                        			for(int l3 = i3 - 1; l3 > k2; l3--) {
                            			if(class18.anIntArray342[l3] != 0)
                                			continue;
                            			ai[l2] = l3;
                            			ai1[l2] = 0;
                            			ai2[l2] = 0;
                            			ai3[l2] = 0;
                            			l2++;
                            		break;
                        		}
					}
                    	ai[l2] = i3;
                    	short c = 0;
                    	if(class18.anIntArray342[i3] == 3)
                   		c = (short)128;
class 18
Code:
// Decompiled by Jad v1.5.8f. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3) 

public final class Class18
{

    public Class18(Stream stream,int junk)
    {
        int anInt341 = stream.readUnsignedWord();
		anIntArray342 = new int[anInt341];
        anIntArrayArray343 = new int[anInt341][];
        for(int j = 0; j < anInt341; j++)
            anIntArray342[j] = stream.readUnsignedWord();

		for(int j = 0; j < anInt341; j++)
			anIntArrayArray343[j] = new int[stream.readUnsignedWord()];

        for(int j = 0; j < anInt341; j++)
			for(int l = 0; l < anIntArrayArray343[j].length; l++)
				anIntArrayArray343[j][l] = stream.readUnsignedWord();
    }

    public final int[] anIntArray342;
    public final int[][] anIntArrayArray343;
}
Explain it to me please, someone? I'm trying to code and reading java and want to know what this means, it adds 602 animations? that's it? Why is it laggy at edgeville?