code: private int getDiagSize(int diagonal) {
          if (diagonal < 0)
              return Math.min(numRows + diagonal, numColumns);
          else
              return Math.min(numRows, numColumns - diagonal);
      }
docs: Finds the size of the requested diagonal to be allocated