if (!target.getWorldTranslation().equals(oldWorldTranslation))
if (!target.parentGeom.getWorldTranslation().equals(oldWorldTranslation))
    private boolean updateCache(LightState lights) {        boolean voidLights = false;        boolean same = true;        // First see if we need to void all volumes as the target has changed        if (!target.getWorldRotation().equals(oldWorldRotation))            voidLights = true;        if (!target.getWorldScale().equals(oldWorldScale))            voidLights = true;        if (!target.getWorldTranslation().equals(oldWorldTranslation))            voidLights = true;        // Configure the current settings        oldWorldRotation.set(target.getWorldRotation());        oldWorldScale.set(target.getWorldScale());        oldWorldTranslation.set(target.getWorldTranslation());        if (target.hasDirtyVertices()) {            target.setHasDirtyVertices(false);            voidLights = true;        }        // See if we need to update all of the volumes        if (voidLights) {            for (int v = 0, vSize = volumes.size(); v < vSize; v++) {                ShadowVolume sv = (ShadowVolume) volumes.get(v);                sv.setUpdate(true);            }            return false;        }        // Loop through the lights to see if any have changed        for (int i = lights.getQuantity(); --i >= 0;) {            Light testLight = lights.get(i);            if (!testLight.isShadowCaster())                continue;            ShadowVolume v = getShadowVolume(testLight);            if (v != null) {                if (testLight.getType() == Light.LT_DIRECTIONAL) {                    DirectionalLight dl = (DirectionalLight) testLight;                    if (!v.direction.equals(dl.getDirection())) {                        v.setUpdate(true);                        v.getDirection().set(dl.getDirection());                        same = false;                    }                } else if (testLight.getType() == Light.LT_POINT) {                    PointLight pl = (PointLight) testLight;                    if (!v.getPosition().equals(pl.getLocation())) {                        v.setUpdate(true);                        v.getPosition().set(pl.getLocation());                        same = false;                    }                }            } else return false;        }        return same;    }