public boolean shouldExecute()
    {
        if (this.villagerObj.getGrowingAge() >= 0)
        {
            return false;
        }
        else if (this.villagerObj.getRNG().nextInt(400) != 0)
        {
            return false;
        }
        else
        {
            List var1 = this.villagerObj.worldObj.getEntitiesWithinAABB(EntityVillager.class, this.villagerObj.boundingBox.expand(6.0D, 3.0D, 6.0D));
            double var2 = Double.MAX_VALUE;
            Iterator var4 = var1.iterator();

            while (var4.hasNext())
            {
                Entity var5 = (Entity)var4.next();

                if (var5 != this.villagerObj)
                {
                    EntityVillager var6 = (EntityVillager)var5;

                    if (!var6.getIsPlayingFlag() && var6.getGrowingAge() < 0)
                    {
                        double var7 = var6.getDistanceSqToEntity(this.villagerObj);

                        if (var7 <= var2)
                        {
                            var2 = var7;
                            this.targetVillager = var6;
                        }
                    }
                }
            }

            if (this.targetVillager == null)
            {
                Vec3D var9 = RandomPositionGenerator.func_48622_a(this.villagerObj, 16, 3);

                if (var9 == null)
                {
                    return false;
                }
            }

            return true;
        }
    }