code: public List<Pair<EnumFacing, Point>> intersect(AxisAlignedBB aabb)
  	{
  		double ix = intersectX(aabb.minX);
  		double iX = intersectX(aabb.maxX);
  		double iy = intersectY(aabb.minY);
  		double iY = intersectY(aabb.maxY);
  		double iz = intersectZ(aabb.minZ);
  		double iZ = intersectZ(aabb.maxZ);
  		Point interx = ix >= 0 ? getPointAt(ix) : null;
  		Point interX = iX >= 0 ? getPointAt(iX) : null;
  		Point intery = iy >= 0 ? getPointAt(iy) : null;
  		Point interY = iY >= 0 ? getPointAt(iY) : null;
  		Point interz = iz >= 0 ? getPointAt(iz) : null;
  		Point interZ = iZ >= 0 ? getPointAt(iZ) : null;
  
  		List<Pair<EnumFacing, Point>> list = new ArrayList<>();
  		if (interx != null && interx.isInside(aabb))
  			list.add(Pair.of(EnumFacing.WEST, interx));
  		if (interX != null && interX.isInside(aabb))
  			list.add(Pair.of(EnumFacing.EAST, interX));
  
  		if (intery != null && intery.isInside(aabb))
  			list.add(Pair.of(EnumFacing.DOWN, intery));
  		if (interY != null && interY.isInside(aabb))
  			list.add(Pair.of(EnumFacing.UP, interY));
  
  		if (interz != null && interz.isInside(aabb))
  			list.add(Pair.of(EnumFacing.NORTH, interz));
  		if (interZ != null && interZ.isInside(aabb))
  			list.add(Pair.of(EnumFacing.SOUTH, interZ));
  
  		return list;
  	}
docs: Finds the points intersecting the {@link AxisAlignedBB}
  
  @param aabb the aabb
  @return the list