Savable[][][] savables = new Savable[values.length][][]; for (int i = 0; i < values.length; i++) { savables[i] = new Savable[values[i].length][]; for (int j = 0; j < values[i].length; j++) { savables[i][j] = resolveIDs(values[i][j]); } } values = savables; fieldData.put(field.alias, values); } return (Savable[][][]) values;
Savable[][][] savables = new Savable[values.length][][]; for (int i = 0; i < values.length; i++) { if (values[i] != null) { savables[i] = new Savable[values[i].length][]; for (int j = 0; j < values[i].length; j++) { savables[i][j] = resolveIDs(values[i][j]); } } else savables[i] = null; } fieldData.put(field.alias, savables); return savables; } else return defVal;
    public Savable[][][] readSavableArray3D(String name, Savable[][][] defVal) throws IOException {        BinaryClassField field = cObj.nameFields.get(name);        if (field == null || !fieldData.containsKey(field.alias)) return defVal;        Object[][][] values = (Object[][][]) fieldData.get(field.alias);        if (values instanceof ID[][][]) {        		Savable[][][] savables = new Savable[values.length][][];	    		for (int i = 0; i < values.length; i++) {	    			savables[i] = new Savable[values[i].length][];	    			for (int j = 0; j < values[i].length; j++) {		    			savables[i][j] = resolveIDs(values[i][j]);	    			}	    		}	    		values = savables;        		fieldData.put(field.alias, values);        }        return (Savable[][][]) values;    }