# Unusual "Grafting" when using GH\_ParamAccess.list and GH\_ParamAccess.item

**URL:** <https://discourse.mcneel.com/t/unusual-grafting-when-using-gh-paramaccess-list-and-gh-paramaccess-item/65885>\
**Category:** Grasshopper Developer\
**Created:** [June 27, 2018, 5:22pm UTC](https://discourse.mcneel.com/t/unusual-grafting-when-using-gh-paramaccess-list-and-gh-paramaccess-item/65885 "2018-06-27T17:22:59Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![abarbar](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/abarbar/32/450691_2.png) [@abarbar](https://discourse.mcneel.com/u/abarbar)\
**Post date:** [June 27, 2018, 5:22pm UTC](https://discourse.mcneel.com/t/unusual-grafting-when-using-gh-paramaccess-list-and-gh-paramaccess-item/65885/1 "2018-06-27T17:22:59Z")

</div>

Hello, I have noticed an unusual grafting behavior in a custom component I wrote. I stripped the code down and realized the problem is with using an input param of list access along with a second of item access. This issue is fixed if the second param is changed to list.

The image below shows how the data gets restructured

 ![img1](https://global.discourse-cdn.com/mcneel/original/3X/5/4/544278976da0a69082e65ac4f1e1dc1333a28f92.png)

This “grafting” only occurs if a datatree has similar paths, {0} and {0;0} for example. However, the issue is fixed if the paths are renamed (using entwine)

 ![img2](https://global.discourse-cdn.com/mcneel/original/3X/a/5/a509a1d5bb50cabb1af4c79ea44dd940b390a798.png)

I’m sharing below the whole code of the component seen in these images.

```auto
    public class MyComponent : GH_Component
    {
        public MyComponent()
          : base("DataTest", "DataTest",
              "Description",
              "Test", "Test")
        {
        }
        
        protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
        {
            pManager.AddGeometryParameter("Geometry", "G", "", GH_ParamAccess.list);
            pManager.AddGenericParameter("Generic", "R", "", GH_ParamAccess.item);
            pManager[1].Optional = true;
        }
        
        protected override void RegisterOutputParams(GH_Component.GH_OutputParamManager pManager)
        {
            pManager.AddGeometryParameter("Geometry", "G", "", GH_ParamAccess.list);
        }

        protected override void SolveInstance(IGH_DataAccess DA)
        {
            List<IGH_GeometricGoo> g = new List<IGH_GeometricGoo>();
            DA.GetDataList(0, g);
            DA.SetDataList(0, g);
        }
        
        protected override System.Drawing.Bitmap Icon
        {
            get
            {
                return null;
            }
        }
        
        public override Guid ComponentGuid
        {
            get { return new Guid("da2bd586-6920-4195-b3c8-eb4899f54b4a"); }
        }
    }

```
