There is no (good) reason to limit yourself to points, you can see if your buffer intersects with the countries directly:
public SimpleFeatureCollection lookup(Geometry g, SpatialIndexFeatureCollection countries) {
GeometryFactory gf = new GeometryFactory();
Filter f = ff.intersects(ff.property("the_geom"), ff.literal(g));
ret = countries.subCollection(f);
return ret;
}
Full gist