lazyIn = new DataInputStream(new BufferedInputStream(secureAction.getFileInputStream(lazyFile), 65536));
lazyIn = new DataInputStream(new BufferedInputStream(secureAction.getFileInputStream(lazyFile), BUFFER_SIZE_FULLYREAD));
	private boolean readState(StateImpl state, long expectedTimestamp) throws IOException {		DataInputStream in = new DataInputStream(new BufferedInputStream(secureAction.getFileInputStream(stateFile), 65536));		DataInputStream lazyIn = null;		try {			if (in.readByte() != STATE_CACHE_VERSION)				return false;			byte tag = readTag(in);			if (tag != OBJECT)				return false;			int index = in.readInt();			long timestampRead = in.readLong();			if (expectedTimestamp >= 0 && timestampRead != expectedTimestamp)				return false;			addToObjectTable(state, index);			int numSets = in.readInt();			Dictionary[] platformProps = new Dictionary[numSets];			for (int i = 0; i < numSets; i++) {				Hashtable props = new Hashtable(StateImpl.PROPS.length);				int numProps = in.readInt();				for (int j = 0; j < numProps; j++) {					Object value = readPlatformProp(in);					if (value != null && j < StateImpl.PROPS.length)						props.put(StateImpl.PROPS[j], value);				}				platformProps[i] = props;			}			state.setPlatformProperties(platformProps, false);			numBundles = in.readInt();			if (numBundles == 0)				return true;			for (int i = 0; i < numBundles; i++) {				BundleDescriptionImpl bundle = readBundleDescription(in);				state.basicAddBundle(bundle);				if (bundle.isResolved())					state.addResolvedBundle(bundle);			}			state.setTimeStamp(timestampRead);			state.setResolved(in.readBoolean());			if (lazyLoad)				return true;			//read in from lazy data file			lazyIn = new DataInputStream(new BufferedInputStream(secureAction.getFileInputStream(lazyFile), 65536));			for (int i = 0; i < numBundles; i++)				readBundleDescriptionLazyData(lazyIn, 0);		} finally {			in.close();			if (lazyIn != null)				try {					lazyIn.close();				} catch (IOException e) {					// ignore				}		}		return true;	}