code: private int getIntAt(int pointer) {
  		int out = 0;
  		byte[] temp = new byte[4];
  		getSubArray(temp, pointer);
  		try {
  			DataInputStream dis = new DataInputStream(new ByteArrayInputStream(temp));
  			out = dis.readInt();
  		} catch (IOException e) //This shouldn't happen. If it does something must be seriously wrong.
  		{
  			throw new IllegalStateException("Unexpected IOException encountered while manipulating internal streams.");
  		}
  		return out;
  	}
docs: Utility method to return an int beginning at <code>pointer</code> in the TraceData array.
  
  @param pointer - beginning of trace array
  @return - int beginning at pointer in trace array