#**##set( $return = $imports.addToImports("de.uni_kassel.assocs.SetRole") )
#**#private $!transient SetRole<$class, $type> $name;
#**#
#**##set( $return = $imports.addToImports("de.uni_kassel.assocs.simple.LinkHandler") )
#**#private static final LinkHandler<$class, $type> $utility.camelToUpperCase($name)_HANDLER =
#**#      new LinkHandler<$class, $type>()
#**#      {
#**#         public void connect( $type target, $class source, String name ) throws UnsupportedOperationException, IllegalArgumentException, NullPointerException, ClassCastException
#**#         {
#**##if( !$ref ) ##
#*   *#            target.$insert;
#**##end ##
#**#         }
#**#
#**#         public void disconnect( $type target, $class source, String name ) throws UnsupportedOperationException, IllegalArgumentException, NullPointerException, ClassCastException
#**#         {
#**##if( !$ref ) ##
#*   *#            target.$remove;
#**##end ##
#**#         }
#**#      };
#**#
#**##if ($prop) #set( $return = $imports.addToImports("de.uni_kassel.assocs.util.PropertyChangeSupportNotifier") ) #end
#**#
#**#public SetRole<$class, $type> get$methodSuffix()
#**#{
#**#   if ($name == null)
#**#   {
#**#      $name = new $roleImplClass <$class, $type>(new $container<$type> ($!constParams), this,##
#**##if ($prop) PROPERTY_$utility.camelToUpperCase($name)#else "$name"#end ##
#**#, $utility.camelToUpperCase($name)_HANDLER,
#**#            #if ($prop) new PropertyChangeSupportNotifier( getPropertyChangeSupport() ) #else null#end,
#**#            null);
#**#   }
#**#   return $name;
#**#}