case VIEWPORT_LAYOUT:
case KEY_VIEWPORT:
    private void readEditableObject(int length) throws IOException {        if (DEBUG_LIGHT) System.out.println("Reading editableObject");        s.push(new Node("3ds editable object"));        while (length>0){            ChunkHeader i=readChunk();            i.length-=6;            length-=6;            if (DEBUG) System.out.println("Read in editable object ID:" + Integer.toHexString(i.type) + "* with known length " + i.length);            switch (i.type){                case MESH_VERSION:                    readMeshVersion();                    break;                case MASTER_SCALE:                    readMasterScale();                    break;                case NAMED_OBJECT:                    readNamedObject(i.length);                    break;                case MAT_BLOCK:                    readMatBlock(i.length);                    break;                case VIEWPORT_LAYOUT:                    readViewLayout(i.length);                    break;                case SHADOW_MAP_RANGE:                    readShadowRange();                    break;                case RAYTRACE_BIAS:                    readRayTraceBias();                    break;                case O_CONSTS:                    readOConst();                    break;                case GEN_AMB_COLOR:                    readGenAmbColor(i.length);                    break;                case BACKGRD_COLOR:                    readBackGroundColor(i.length);                    break;                case BACKGRD_BITMAP:                    readBackGroundBitMap();                    break;                case V_GRADIENT:                    readGradient(i.length);                    break;                case USE_BCK_COLOR:                    useBackColor();                    break;                case FOG_FLAG:                    readFog(i.length);                    break;                case SHADOW_BIAS:                    readShadowBias();                    break;                case SHADOW_MAP_SIZE:                    readShadowMapSize();                    break;                case LAYERED_FOG_OPT:                    readLayeredFogOptions(i.length);                    break;                case DISTANCE_QUEUE:                    readDistanceQueue(i.length);                    break;                case DEFAULT_VIEW:                    readDefaultView(i.length);                    break;                case UNKNOWN1:                    myIn.readFloat();   // Unknown                    break;                default:                    if (DEBUG) System.out.println("Unknown type***:" + Integer.toHexString(i.type) + "***");                    if (DEBUG_SEVERE) throw new IOException("Unknown type:" + Integer.toHexString(i.type) + ": in readEditableObject");                    return;            }            length-=i.length;            if (DEBUG) System.out.println("length left in readEditableObject:" + length);        }        Node finishedNode=(Node) s.pop();        Node parentNode=(Node) s.pop();        parentNode.attachChild(finishedNode);        s.push(parentNode);        if (DEBUG_LIGHT) System.out.println("Finished Editable object");    }