title: For some reason checking collisions (are there objects in the same coordinates) crashes java in a few seconds
body: <p>SOLVED
  I am working on my own java game engine that has it's own "physics engine", for some reason my new way of checking collisions crashes java?</p>
  
  <p>I am fairly new on java, and I have no idea what is going on, I don't see any problem in the code, nor do I think I would see it.</p>
  
  <p>the complete source is available on <a href="https://github.com/ViridiStudios/PointBreakEngine" rel="nofollow noreferrer">github</a></p>
  
  <p>the function in gameobject.java:</p>
  
  <pre class="lang-java prettyprint-override"><code>private void checkAdvancedCollisions(objectManager o, gameObject i){
          if(!i.masterParent.engine_collisions){
              return;
          }
          LinkedList&lt;String&gt; ignore = tag;
          for(gameObject ga : children){
              ignore.addAll(ga.tag);
          }
          for(int xc : new Range(size)){
              for(int yc : new Range(size)){
                  if(o.colliding(Math.round(i.x + xc), Math.round(i.y + yc), ignore)){
                      point1(i, o.collidingGA(xc, yc, ignore));
                  }
                  else if(o.colliding(Math.round(i.x + xc), Math.round(i.y + yc + 1), ignore)){
                      point2 = true;
                      point2(i, o.collidingGA(Math.round(i.x + xc), Math.round(i.y + yc + 1), ignore));
                  }
                  else{
                      colliding = false;
                      point2 = false;
                  }
              }
          }
      }
  </code></pre>
  
  <p>the actual checking in objectmanager.java (should work fine):</p>
  
  <pre class="lang-java prettyprint-override"><code>public boolean colliding(int x, int y, LinkedList&lt;String&gt; ignore){
          for(gameObject i : object){
              if(i.getTag().contains("cursor") || i.getTag().containsAll(ignore)){}
              else{
                  if((round(i.x) == x &amp;&amp; round(i.y) == y)){
                      return true;
                  }
              }
          }
          return false;
      }
      public gameObject collidingGA(int x, int y, LinkedList&lt;String&gt; ignore){
          for(gameObject i : object){
              if(i.getTag().contains("cursor") || i.getTag().containsAll(ignore)){}
              else{
                  if((round(i.x) == x &amp;&amp; round(i.y) == y)){
                      return i;
                  }
              }
          }
          return null;
      }
  </code></pre>
  
  <p>and the java completely just stops when using this function, no error messages or anything</p>