### Question:
GoogleLocationEngineImpl implements LocationEngineImpl<LocationCallback> { @SuppressLint("MissingPermission") @Override public void requestLocationUpdates(@NonNull LocationEngineRequest request, @NonNull LocationCallback listener, @Nullable Looper looper) throws SecurityException { fusedLocationProviderClient.requestLocationUpdates(toGMSLocationRequest(request), listener, looper); } @VisibleForTesting  GoogleLocationEngineImpl(FusedLocationProviderClient fusedLocationProviderClient);   GoogleLocationEngineImpl(@NonNull Context context); @NonNull @Override LocationCallback createListener(LocationEngineCallback<LocationEngineResult> callback); @SuppressLint("MissingPermission") @Override void getLastLocation(@NonNull LocationEngineCallback<LocationEngineResult> callback); @SuppressLint("MissingPermission") @Override void requestLocationUpdates(@NonNull LocationEngineRequest request,
                                     @NonNull LocationCallback listener,
                                     @Nullable Looper looper); @SuppressLint("MissingPermission") @Override void requestLocationUpdates(@NonNull LocationEngineRequest request,
                                     @NonNull PendingIntent pendingIntent); @Override void removeLocationUpdates(@NonNull LocationCallback listener); @Override void removeLocationUpdates(PendingIntent pendingIntent);  }### Answer:
@Test(expected = NullPointerException.class) public void requestLocationUpdatesNullCallback() { engine.requestLocationUpdates(null, null, null); }