This is an automated email from the ASF dual-hosted git repository.

gregdove pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit 57465046da4678a9e3f1613021e736955187a804
Author: greg-dove <[email protected]>
AuthorDate: Tue Jan 25 12:48:20 2022 +1300

    Some interim tuning in core classes to avoid duplicated code for removeBead 
method, and adding support for unlistening to strand in LayoutBase if layout is 
set to null (layout swapping)
---
 .../royale/org/apache/royale/core/Application.as   |  6 +-
 .../royale/org/apache/royale/html/MXMLBeadView.as  |  6 +-
 .../org/apache/royale/html/beads/TextAreaView.as   |  6 +-
 .../html/supportClasses/TextFieldItemRenderer.as   |  8 +-
 .../projects/Core/src/main/royale/CoreClasses.as   |  1 +
 .../src/main/royale/org/apache/royale/core/Bead.as |  9 ++-
 .../org/apache/royale/core/ElementWrapper.as       | 11 ++-
 .../org/apache/royale/core/HTMLElementWrapper.as   |  6 +-
 .../royale/org/apache/royale/core/LayoutBase.as    | 20 +++--
 .../main/royale/org/apache/royale/core/Strand.as   |  6 +-
 .../royale/org/apache/royale/core/UIButtonBase.as  |  8 +-
 .../org/apache/royale/utils/removeBeadFromBeads.as | 91 ++++++++++++++++++++++
 .../royale/org/apache/royale/jewel/Application.as  |  7 +-
 .../royale/org/apache/royale/net/BinaryUploader.as |  9 ++-
 .../royale/org/apache/royale/net/HTTPService.as    |  9 ++-
 15 files changed, 167 insertions(+), 36 deletions(-)

diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/Application.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/Application.as
index 6102f79..3b673cc 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/Application.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/Application.as
@@ -24,6 +24,7 @@ package org.apache.royale.core
     import org.apache.royale.events.MouseEvent;
     import org.apache.royale.utils.MXMLDataInterpreter;
     import org.apache.royale.utils.Timer;
+    import org.apache.royale.utils.removeBeadFromBeads;
     import org.apache.royale.utils.sendEvent;
 
     COMPILE::SWF {
@@ -460,7 +461,7 @@ package org.apache.royale.core
         COMPILE::SWF
         public function removeBead(value:IBead):IBead
         {
-            var n:int = _beads.length;
+           /* var n:int = _beads.length;
             for (var i:int = 0; i < n; i++)
             {
                 var bead:IBead = _beads[i];
@@ -470,7 +471,8 @@ package org.apache.royale.core
                     return bead;
                 }
             }
-            return null;
+            return null;*/
+            return removeBeadFromBeads(_beads,value,false);
         }
 
         /**
diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/MXMLBeadView.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/MXMLBeadView.as
index c5896e0..9995e34 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/MXMLBeadView.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/MXMLBeadView.as
@@ -31,6 +31,7 @@ package org.apache.royale.html
        import org.apache.royale.utils.MXMLDataInterpreter;
        import org.apache.royale.utils.loadBeadFromValuesManager;
        import org.apache.royale.core.IStrandWithModel;
+    import org.apache.royale.utils.removeBeadFromBeads;
 
     [DefaultProperty("mxmlContent")]
 
@@ -306,7 +307,7 @@ package org.apache.royale.html
          */
         public function removeBead(value:IBead):IBead
         {
-            var n:int = _beads.length;
+           /* var n:int = _beads.length;
             for (var i:int = 0; i < n; i++)
             {
                 var bead:IBead = _beads[i];
@@ -316,7 +317,8 @@ package org.apache.royale.html
                     return bead;
                 }
             }
-            return null;
+            return null;*/
+            return removeBeadFromBeads(_beads,value, false);
         }
 
     }
diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TextAreaView.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TextAreaView.as
index bb239e5..c61ac78 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TextAreaView.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TextAreaView.as
@@ -33,6 +33,7 @@ package org.apache.royale.html.beads
        import org.apache.royale.html.supportClasses.Border;
        import org.apache.royale.html.supportClasses.VScrollBar;
        import org.apache.royale.html.beads.models.ScrollBarModel;
+       import org.apache.royale.utils.removeBeadFromBeads;
 
     /**
      *  The TextAreaView class is the default view for
@@ -248,7 +249,7 @@ package org.apache.royale.html.beads
          */
                public function removeBead(value:IBead):IBead   
                {
-                       var n:int = _beads.length;
+                       /*var n:int = _beads.length;
                        for (var i:int = 0; i < n; i++)
                        {
                                var bead:IBead = _beads[i];
@@ -258,7 +259,8 @@ package org.apache.royale.html.beads
                                        return bead;
                                }
                        }
-                       return null;
+                       return null;*/
+                       return removeBeadFromBeads(_beads, value, false);
                }
        }
 }
diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/TextFieldItemRenderer.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/TextFieldItemRenderer.as
index 5efc71f..3c98bd6 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/TextFieldItemRenderer.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/TextFieldItemRenderer.as
@@ -41,7 +41,8 @@ package org.apache.royale.html.supportClasses
     import org.apache.royale.html.beads.ITextItemRenderer;
        import org.apache.royale.utils.loadBeadFromValuesManager;
        import org.apache.royale.core.IHasLabelField;
-       
+       import org.apache.royale.utils.removeBeadFromBeads;
+
        /**
         *  The TextFieldItemRenderer class provides a 
org.apache.royale.html.TextField as an itemRenderer.
         *
@@ -542,7 +543,7 @@ package org.apache.royale.html.supportClasses
                 */
         public function removeBead(value:IBead):IBead  
         {
-            var n:int = _beads.length;
+            /*var n:int = _beads.length;
             for (var i:int = 0; i < n; i++)
             {
                 var bead:IBead = _beads[i];
@@ -552,7 +553,8 @@ package org.apache.royale.html.supportClasses
                     return bead;
                 }
             }
-            return null;
+            return null;*/
+                       return removeBeadFromBeads(_beads,value, false)
         }
         
                /**
diff --git a/frameworks/projects/Core/src/main/royale/CoreClasses.as 
b/frameworks/projects/Core/src/main/royale/CoreClasses.as
index ebb47c4..8dc1095 100644
--- a/frameworks/projects/Core/src/main/royale/CoreClasses.as
+++ b/frameworks/projects/Core/src/main/royale/CoreClasses.as
@@ -330,6 +330,7 @@ internal class CoreClasses
 
        import org.apache.royale.utils.measureComponent; measureComponent;
        import org.apache.royale.utils.loadBeadFromValuesManager; 
loadBeadFromValuesManager;
+       import org.apache.royale.utils.removeBeadFromBeads;removeBeadFromBeads;
        import org.apache.royale.utils.HSV; HSV;
        import org.apache.royale.utils.rgbToHsv; rgbToHsv;
        import org.apache.royale.utils.hsvToHex; hsvToHex;
diff --git 
a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/Bead.as 
b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/Bead.as
index a36c76c..9dbf053 100644
--- a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/Bead.as
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/Bead.as
@@ -65,10 +65,15 @@ package org.apache.royale.core
     /**
      * Helper function to attach event listener without the need for casting
      * @royaleignorecoercion org.apache.royale.events.IEventDispatcher
+     *
      */
-    protected function 
listenOnStrand(eventType:String,handler:Function,capture:Boolean=false):void
+    protected function 
listenOnStrand(eventType:String,handler:Function,capture:Boolean=false,unListen:Boolean=false):void
     {
-      (_strand as IEventDispatcher).addEventListener(eventType, handler, 
capture);
+      if (unListen) {
+          (_strand as IEventDispatcher).removeEventListener(eventType, 
handler, capture);
+      }  else {
+          (_strand as IEventDispatcher).addEventListener(eventType, handler, 
capture);
+      }
     }
 
   }
diff --git 
a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as
 
b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as
index f6ee842..f5517a1 100644
--- 
a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as
+++ 
b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as
@@ -39,6 +39,7 @@ package org.apache.royale.core
     
     import org.apache.royale.events.Event;
     import org.apache.royale.events.EventDispatcher;
+    import org.apache.royale.utils.removeBeadFromBeads;
 
     COMPILE::SWF
     public class ElementWrapper extends EventDispatcher implements IStrand
@@ -114,7 +115,7 @@ package org.apache.royale.core
          */
         public function removeBead(bead:IBead):IBead
         {
-            var i:uint, n:uint, value:Object;
+            /*var i:uint, n:uint, value:Object;
             n = _beads.length;
             for (i = 0; i < n; i++)
             {
@@ -128,7 +129,8 @@ package org.apache.royale.core
                 }
             }
             
-            return null;
+            return null;*/
+            return removeBeadFromBeads(_beads,bead, true);
         }
         
         override public function addEventListener(type:String, 
handler:Function, opt_capture:Boolean = false, priority:int = 0, weak:Boolean = 
false):void
@@ -305,7 +307,7 @@ package org.apache.royale.core
                 */
                public function removeBead(bead:IBead):IBead
                {
-                       var i:uint, n:uint, value:Object;
+                       /*var i:uint, n:uint, value:Object;
                        n = _beads.length;
                        for (i = 0; i < n; i++)
                        {
@@ -318,7 +320,8 @@ package org.apache.royale.core
                                }
                        }
 
-                       return null;
+                       return null;*/
+            return removeBeadFromBeads(_beads,bead, false);
                }
         
         override public function addEventListener(type:String, 
handler:Function, opt_capture:Boolean = false, opt_handlerScope:Object = 
null):void
diff --git 
a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/HTMLElementWrapper.as
 
b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/HTMLElementWrapper.as
index 694f20a..c21738d 100644
--- 
a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/HTMLElementWrapper.as
+++ 
b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/HTMLElementWrapper.as
@@ -19,6 +19,7 @@
 package org.apache.royale.core
 {
        import org.apache.royale.events.IEventDispatcher;
+    import org.apache.royale.utils.removeBeadFromBeads;
 
     COMPILE::SWF
     {
@@ -98,7 +99,7 @@ package org.apache.royale.core
          */
         public function removeBead(value:IBead):IBead
         {
-            var n:int = _beads.length;
+            /*var n:int = _beads.length;
             for (var i:int = 0; i < n; i++)
             {
                 var bead:IBead = _beads[i];
@@ -108,7 +109,8 @@ package org.apache.royale.core
                     return bead;
                 }
             }
-            return null;
+            return null;*/
+            return removeBeadFromBeads(_beads,value, false);
         }
     
     
diff --git 
a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/LayoutBase.as 
b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/LayoutBase.as
index 2110809..2f9733e 100644
--- 
a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/LayoutBase.as
+++ 
b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/LayoutBase.as
@@ -84,16 +84,24 @@ package org.apache.royale.core
                 */
                override public function set strand(value:IStrand):void
                {
+                       if (value != _strand) {
+                               if (_strand) setListeners(true);
+                       }
                        _strand = value;
                        host = value as ILayoutChild;
-                       listenOnStrand("widthChanged", handleSizeChange);
-                       listenOnStrand("heightChanged", handleSizeChange);
-                       listenOnStrand("sizeChanged", handleSizeChange);
+                       if (value) {
+                               setListeners();
+                       }
+               }
 
-                       listenOnStrand("childrenAdded", handleChildrenAdded);
-                       listenOnStrand("initComplete", handleInitComplete);
-                       listenOnStrand("layoutNeeded", handleLayoutNeeded);
+               protected function setListeners(off:Boolean=false):void{
+                       listenOnStrand("widthChanged", handleSizeChange, false, 
off);
+                       listenOnStrand("heightChanged", handleSizeChange, 
false, off);
+                       listenOnStrand("sizeChanged", handleSizeChange, false, 
off);
 
+                       listenOnStrand("childrenAdded", handleChildrenAdded, 
false, off);
+                       listenOnStrand("initComplete", handleInitComplete, 
false, off);
+                       listenOnStrand("layoutNeeded", handleLayoutNeeded, 
false, off);
                }
                
                private var lastWidth:Number = -1;
diff --git 
a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/Strand.as 
b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/Strand.as
index 5610ccc..c5a8901 100644
--- a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/Strand.as
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/Strand.as
@@ -20,6 +20,7 @@ package org.apache.royale.core
 {
        import org.apache.royale.events.Event;
        import org.apache.royale.events.EventDispatcher;
+       import org.apache.royale.utils.removeBeadFromBeads;
        import org.apache.royale.utils.sendStrandEvent;
 
     /**
@@ -131,7 +132,7 @@ package org.apache.royale.core
          */
                public function removeBead(value:IBead):IBead   
                {
-                       var n:int = _beads.length;
+                       /*var n:int = _beads.length;
                        for (var i:int = 0; i < n; i++)
                        {
                                var bead:IBead = _beads[i];
@@ -141,7 +142,8 @@ package org.apache.royale.core
                                        return bead;
                                }
                        }
-                       return null;
+                       return null;*/
+                       return removeBeadFromBeads(_beads,value, false);
                }
                        
        }
diff --git 
a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/UIButtonBase.as
 
b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/UIButtonBase.as
index 7620dd5..38bc88c 100644
--- 
a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/UIButtonBase.as
+++ 
b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/UIButtonBase.as
@@ -31,7 +31,8 @@ package org.apache.royale.core
     import org.apache.royale.events.utils.MouseEventConverter;
        import org.apache.royale.events.IEventDispatcher;
        import org.apache.royale.utils.loadBeadFromValuesManager;
-       
+       import org.apache.royale.utils.removeBeadFromBeads;
+
     //--------------------------------------
     //  Events
     //--------------------------------------
@@ -808,7 +809,7 @@ package org.apache.royale.core
          */
                public function removeBead(value:IBead):IBead   
                {
-                       var n:int = strand.length;
+                       /*var n:int = strand.length;
                        for (var i:int = 0; i < n; i++)
                        {
                                var bead:IBead = strand[i];
@@ -818,7 +819,8 @@ package org.apache.royale.core
                                        return bead;
                                }
                        }
-                       return null;
+                       return null;*/
+                       return removeBeadFromBeads(strand,value, false)
                }
                
         /**
diff --git 
a/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/removeBeadFromBeads.as
 
b/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/removeBeadFromBeads.as
new file mode 100644
index 0000000..c466c75
--- /dev/null
+++ 
b/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/removeBeadFromBeads.as
@@ -0,0 +1,91 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.utils
+{
+       import org.apache.royale.core.IBead;
+       import org.apache.royale.core.IStrand;
+       import org.apache.royale.core.ValuesManager;
+
+       /**
+        * Utility function for internal use in removeBead methods
+        *  @param beads the implementation's collection of beads to check 
against
+        *  @param beadToRemove the bead to remove
+        *  @param setStrandNull true if the strand setter of the removed bead 
should be set to null when it is removed
+        *
+        *  @return the removed Bead (if it was present), with its strand value 
set to null, otherwise null (no bead was removed).
+        *
+        *  @langversion 3.0
+        *  @playerversion Flash 9
+        *  @playerversion AIR 1.1
+        *  @productversion Royale 0.9.9
+       *
+       */
+       COMPILE::SWF
+       public function removeBeadFromBeads(beads:Vector.<IBead>, 
beadToRemove:IBead, setStrandNull:Boolean):IBead
+       {
+               var i:uint, n:uint;
+               n = beads.length;
+               for (i = 0; i < n; i++)
+               {
+                       if (beadToRemove === beads[i])
+                       {
+                               beads.splice(i, 1);
+                               if (setStrandNull) beadToRemove.strand = null;
+                               return beadToRemove;
+                       }
+               }
+               return null;
+       }
+
+
+       /**
+        *  Utility function for internal use in removeBead methods
+        *  @param beads the implementation's collection of beads to check 
against
+        *  @param beadToRemove the bead to remove
+        *  @param setStrandNull true if the strand setter of the removed bead 
should be set to null when it is removed
+        *
+        *  @return the removed Bead (if it was present), with its strand value 
set to null, otherwise null (no bead was removed).
+        *
+        *  @langversion 3.0
+        *  @playerversion Flash 9
+        *  @playerversion AIR 1.1
+        *  @productversion Royale 0.9.9
+        *  @royaleignorecoercion org.apache.royale.core.IBead
+        *
+        *  @royalesuppressexport
+        *  @royaleignorecoercion Array
+        */
+       COMPILE::JS
+       public function removeBeadFromBeads(beads:Object, beadToRemove:IBead, 
setStrandNull:Boolean):IBead
+       {
+               var i:uint, n:uint;
+               var arr:Array = beads as Array; //we don't really have a 
Vector.<IBead> internally
+               n = arr.length;
+               for (i = 0; i < n; i++)
+               {
+                       if (beadToRemove === arr[i])
+                       {
+                               arr.splice(i, 1);
+                               if (setStrandNull) beadToRemove.strand = null;
+                               return beadToRemove;
+                       }
+               }
+               return null;
+       }
+}
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Application.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Application.as
index dbcd24a..a74bc97 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Application.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Application.as
@@ -18,6 +18,8 @@
 
////////////////////////////////////////////////////////////////////////////////
 package org.apache.royale.jewel
 {
+    import org.apache.royale.utils.removeBeadFromBeads;
+
     COMPILE::SWF {
     import flash.display.DisplayObject;
     import flash.display.StageAlign;
@@ -480,7 +482,7 @@ package org.apache.royale.jewel
         COMPILE::SWF
         public function removeBead(value:IBead):IBead
         {
-            var n:int = _beads.length;
+            /*var n:int = _beads.length;
             for (var i:int = 0; i < n; i++)
             {
                 var bead:IBead = _beads[i];
@@ -490,7 +492,8 @@ package org.apache.royale.jewel
                     return bead;
                 }
             }
-            return null;
+            return null;*/
+            return removeBeadFromBeads(_beads, value, false);
         }
 
         /**
diff --git 
a/frameworks/projects/Network/src/main/royale/org/apache/royale/net/BinaryUploader.as
 
b/frameworks/projects/Network/src/main/royale/org/apache/royale/net/BinaryUploader.as
index 120f6ac..067ee40 100644
--- 
a/frameworks/projects/Network/src/main/royale/org/apache/royale/net/BinaryUploader.as
+++ 
b/frameworks/projects/Network/src/main/royale/org/apache/royale/net/BinaryUploader.as
@@ -18,7 +18,9 @@
 
////////////////////////////////////////////////////////////////////////////////
 package org.apache.royale.net
 {
-    COMPILE::SWF
+import org.apache.royale.utils.removeBeadFromBeads;
+
+COMPILE::SWF
     {
         import flash.events.HTTPStatusEvent;
         import flash.events.IOErrorEvent;
@@ -482,7 +484,7 @@ package org.apache.royale.net
         COMPILE::SWF
                public function removeBead(value:IBead):IBead   
                {
-                       var n:int = _beads.length;
+                       /*var n:int = _beads.length;
                        for (var i:int = 0; i < n; i++)
                        {
                                var bead:IBead = _beads[i];
@@ -492,7 +494,8 @@ package org.apache.royale.net
                                        return bead;
                                }
                        }
-                       return null;
+                       return null;*/
+            return removeBeadFromBeads(_beads, value, false);
                }
 
         COMPILE::SWF
diff --git 
a/frameworks/projects/Network/src/main/royale/org/apache/royale/net/HTTPService.as
 
b/frameworks/projects/Network/src/main/royale/org/apache/royale/net/HTTPService.as
index 667d99c..9b63f35 100644
--- 
a/frameworks/projects/Network/src/main/royale/org/apache/royale/net/HTTPService.as
+++ 
b/frameworks/projects/Network/src/main/royale/org/apache/royale/net/HTTPService.as
@@ -18,7 +18,9 @@
 
////////////////////////////////////////////////////////////////////////////////
 package org.apache.royale.net
 {
-    COMPILE::SWF
+import org.apache.royale.utils.removeBeadFromBeads;
+
+COMPILE::SWF
     {
         import flash.events.HTTPStatusEvent;
         import flash.events.IOErrorEvent;
@@ -496,7 +498,7 @@ package org.apache.royale.net
         COMPILE::SWF
                public function removeBead(value:IBead):IBead   
                {
-                       var n:int = _beads.length;
+                       /*var n:int = _beads.length;
                        for (var i:int = 0; i < n; i++)
                        {
                                var bead:IBead = _beads[i];
@@ -506,7 +508,8 @@ package org.apache.royale.net
                                        return bead;
                                }
                        }
-                       return null;
+                       return null;*/
+            return removeBeadFromBeads(_beads,value, false);
                }
 
         /**

Reply via email to