Cómo encontrar la mayor potencia de 2 menos que el número dado

Necesito encontrar la mayor potencia de 2 menos que el número dado.
Y me estancé y no puedo encontrar ninguna solución.

Código:

public class MathPow {
   public int largestPowerOf2 (int n) {
        int res = 2;        
        while (res < n) {
            res =(int) Math.pow(res, 2);
        }
        return res;
   }
}

Esto no funciona correctamente.

Salida de prueba:

Arguments Actual Expected
-------------------------
9         16     8       
100       256    64      
1000      65536  512     
64        256    32      

¿Cómo resolver este problema?

Respuestas a la pregunta(18)

Su respuesta a la pregunta