title: StackOverflow exception, Infinite loop or actual stack overflow
body: <p>If I enter this in with the arguments 0,0,0,15 I get a stack overflow exception.. What could be the cause of this? Is is an infinite recursion or is it actually too much for the stack? The size of lighting 3D array is 16 * 16 * 128</p>
  
  <pre><code>private void updateLight(int x, int y, int z, byte lightValue) {
      if (lightValue == 1 || lighting[x][z][y] != -1 || voxels[x][z][y] != 0) {
          return;
      }
  
      lighting[x][z][y] = lightValue;
  
      if (x - 1 &gt;= 0) {
          updateLight(x - 1, y, z, --lightValue);
      }
      if (x + 1 &lt; lighting.length) {
          updateLight(x + 1, y, z, --lightValue);
      }
      if (z - 1 &gt;= 0) {
          updateLight(x, y, z - 1, --lightValue);
      }
      if (z + 1 &lt; lighting[0].length) {
          updateLight(x, y, z + 1, --lightValue);
      }
      if (y - 1 &gt;= 0) {
          updateLight(x, y - 1, z, --lightValue);
      }
      if (y + 1 &lt; lighting[0][0].length) {
          updateLight(x, y + 1, z, --lightValue);
      }
  
  }
  </code></pre>