code: @Override
  	public boolean satisfies(Match match, int... ind)
  	{
  		PhysicalEntity pe0 = (PhysicalEntity) match.get(ind[0]);
  		PhysicalEntity pe1 = (PhysicalEntity) match.get(ind[1]);
  		PhysicalEntity pe2 = (PhysicalEntity) match.get(ind[2]);
  		PhysicalEntity pe3 = (PhysicalEntity) match.get(ind[3]);
  
  		PhysicalEntityChain ch1 = new PhysicalEntityChain(pe0, pe1);
  		PhysicalEntityChain ch2 = new PhysicalEntityChain(pe2, pe3);
  
  		return ch1.intersects(ch2, ignoreEndPoints) == intersectionDesired;
  	}
docs: Creates two PhysicalEntity chains with the given endpoints, and checks if they are
  intersecting.
  @param match current pattern match
  @param ind mapped indices
  @return true if the chains are intersecting or not intersecting as desired