code: private int readUtah(int row, int column, int numRows, int numColumns) {
      int currentByte = 0;
      if (readModule(row - 2, column - 2, numRows, numColumns)) {
        currentByte |= 1;
      }
      currentByte <<= 1;
      if (readModule(row - 2, column - 1, numRows, numColumns)) {
        currentByte |= 1;
      }
      currentByte <<= 1;
      if (readModule(row - 1, column - 2, numRows, numColumns)) {
        currentByte |= 1;
      }
      currentByte <<= 1;
      if (readModule(row - 1, column - 1, numRows, numColumns)) {
        currentByte |= 1;
      }
      currentByte <<= 1;
      if (readModule(row - 1, column, numRows, numColumns)) {
        currentByte |= 1;
      }
      currentByte <<= 1;
      if (readModule(row, column - 2, numRows, numColumns)) {
        currentByte |= 1;
      }
      currentByte <<= 1;
      if (readModule(row, column - 1, numRows, numColumns)) {
        currentByte |= 1;
      }
      currentByte <<= 1;
      if (readModule(row, column, numRows, numColumns)) {
        currentByte |= 1;
      }
      return currentByte;
    }
docs: <p>Reads the 8 bits of the standard Utah-shaped pattern.</p>
  
  <p>See ISO 16022:2006, 5.8.1 Figure 6</p>
  
  @param row Current row in the mapping matrix, anchored at the 8th bit (LSB) of the pattern
  @param column Current column in the mapping matrix, anchored at the 8th bit (LSB) of the pattern
  @param numRows Number of rows in the mapping matrix
  @param numColumns Number of columns in the mapping matrix
  @return byte from the utah shape