code: function getValidChildrenTypes( desc, client ) {
              var node = client.getNode( desc.id );
              var validChildTypes = {};
  
              // figure out what the allowable range is
              var validChildren = node.getValidChildrenTypesDetailed(null, true);
              Object.keys( validChildren ).map(function( metaId ) {
                  var child = client.getNode( metaId );
                  var childType = child.getAttribute("name");
                  var canCreateMore = validChildren[ metaId ];
                  if ( canCreateMore &&
                       !child.isAbstract() )
                      validChildTypes[ childType ] = metaId;
              });
              return validChildTypes;
          }
docs: /* * * * * * * Drag & Drop Related Functions * * * * * *