private void writeVersion1(DataOutput out) throws IOException {				
		out.writeInt(this.len); /* length */
		for(int i = this.pc; i < this.len; i++) {
			out.writeInt(this.instr[i]);
		}
		
		out.writeInt(this.maxstacksize);
				
		if ( constants != null ) {
			out.writeInt(this.numConstants);
			for(int i = 0; i < this.numConstants; i++) {
				constants[i].write(out);			
			}
		}
		else {
			out.writeInt(0);
		}
		
		out.writeInt(this.flags);
		out.writeInt(this.numArgs);			
		out.writeInt(this.numOuters);
		out.writeInt(this.numLocals);
		
		for(int i = 0; i < this.numArgs; i++) {
		    if(this.paramNames[i] == null) {
		        out.write(0);
		    }
		    else {
    		    byte[] b = this.paramNames[i].getString().getBytes();
                out.write(b.length);
    		    out.write(b);
		    }
		}
		
		/* write out the var names if this is a class */		
		if( (this.flags & FL_DEBUG) != 0) {
			this.debugSymbols.write(out);
		}
		
		if ( this.inner != null ) {
			out.writeInt(this.inner.length);
			for(int i = 0; i < this.inner.length; i++ ) {
				this.inner[i].write(out);
			}
		}
		else {
			out.writeInt(0);
		}
	}