/**
  * Removes the given security group permissions from the given node with the given compute
  * service.
  *
  * <p>Takes no action if the compute service does not have a security group extension.
  *
  * @param permissions The set of permissions to be removed from the location
  * @param location Location to remove permissions from
  */
 public void removePermissionsFromLocation(
     final JcloudsMachineLocation location, final Iterable<IpPermission> permissions) {
   synchronized (JcloudsLocationSecurityGroupCustomizer.class) {
     ComputeService computeService = location.getParent().getComputeService();
     String nodeId = location.getNode().getId();
     removePermissionsFromLocation(permissions, nodeId, computeService);
   }
 }
 public Collection<SecurityGroup> addPermissionsToLocationAndReturnSecurityGroup(
     ComputeService computeService,
     final JcloudsMachineLocation location,
     final Iterable<IpPermission> permissions) {
   synchronized (JcloudsLocationSecurityGroupCustomizer.class) {
     String nodeId = location.getNode().getId();
     return addPermissionsToLocation(permissions, nodeId, computeService).values();
   }
 }