public boolean shouldExecute()
    {
        if (this.childAnimal.getGrowingAge() >= 0)
        {
            return false;
        }
        else
        {
            List var1 = this.childAnimal.worldObj.getEntitiesWithinAABB(this.childAnimal.getClass(), this.childAnimal.boundingBox.expand(8.0D, 4.0D, 8.0D));
            EntityAnimal var2 = null;
            double var3 = Double.MAX_VALUE;
            Iterator var5 = var1.iterator();

            while (var5.hasNext())
            {
                Entity var6 = (Entity)var5.next();
                EntityAnimal var7 = (EntityAnimal)var6;

                if (var7.getGrowingAge() >= 0)
                {
                    double var8 = this.childAnimal.getDistanceSqToEntity(var7);

                    if (var8 <= var3)
                    {
                        var3 = var8;
                        var2 = var7;
                    }
                }
            }

            if (var2 == null)
            {
                return false;
            }
            else if (var3 < 9.0D)
            {
                return false;
            }
            else
            {
                this.parentAnimal = var2;
                return true;
            }
        }
    }