JcloudsLocationSecurityGroupCustomizer extends BasicJcloudsLocationCustomizer { public static JcloudsLocationSecurityGroupCustomizer getInstance(String applicationId) { return CUSTOMISERS.getUnchecked(applicationId); } protected  JcloudsLocationSecurityGroupCustomizer(String applicationId); protected  JcloudsLocationSecurityGroupCustomizer(String applicationId, Supplier<Cidr> sshCidrSupplier); static JcloudsLocationSecurityGroupCustomizer getInstance(String applicationId); static JcloudsLocationSecurityGroupCustomizer getInstance(Entity entity); JcloudsLocationSecurityGroupCustomizer setRetryExceptionPredicate(Predicate<Exception> predicate); JcloudsLocationSecurityGroupCustomizer setSshCidrSupplier(Supplier<Cidr> cidrSupplier); JcloudsLocationSecurityGroupCustomizer addPermissionsToLocation(final JcloudsMachineLocation location,
            IpPermission... permissions); JcloudsLocationSecurityGroupCustomizer addPermissionsToLocation(final JcloudsMachineLocation location,
             SecurityGroupDefinition securityGroupDefinition); JcloudsLocationSecurityGroupCustomizer addPermissionsToLocation(final JcloudsMachineLocation location,
              final Iterable<IpPermission> permissions); Collection<SecurityGroup> addPermissionsToLocationAndReturnSecurityGroup(
        final JcloudsMachineLocation location, final Iterable<IpPermission> permissions); void removePermissionsFromLocation(JcloudsMachineLocation location, Iterable<IpPermission> permissions); @Override void customize(JcloudsLocation location, ComputeService computeService, Template template); String getBrooklynCidrBlock(); static Predicate<Exception> newAwsExceptionRetryPredicate();  }
@Test public void testSameInstanceReturnedForSameApplication() { assertEquals(JcloudsLocationSecurityGroupCustomizer.getInstance("a"), JcloudsLocationSecurityGroupCustomizer.getInstance("a")); assertNotEquals(JcloudsLocationSecurityGroupCustomizer.getInstance("a"), JcloudsLocationSecurityGroupCustomizer.getInstance("b")); }