systemState = (StateImpl) factory.readState(input, expectedTimeStamp);
systemState = factory.readSystemState(input, expectedTimeStamp);
	private void readState(long expectedTimeStamp) {		if (!stateLocation.isFile())			return;		if (DEBUG_READER)			readStartupTime = System.currentTimeMillis();		FileInputStream fileInput;		try {			fileInput = new FileInputStream(stateLocation);		} catch (FileNotFoundException e) {			// TODO: log before bailing			e.printStackTrace();			return;		}		DataInputStream input = null;		try {			input = new DataInputStream(new BufferedInputStream(fileInput, 65536));			systemState = (StateImpl) factory.readState(input, expectedTimeStamp);			// problems in the cache (corrupted/stale), don't create a state object			if (systemState == null)				return;			initializeSystemState();		} catch (IOException ioe) {			// TODO: how do we log this?			ioe.printStackTrace();		} finally {			if (DEBUG_READER)				System.out.println("Time to read state: " + (System.currentTimeMillis() - readStartupTime));		}	}