GraphicsStreamElementXform()
        {
            if (m_revitApp.ActiveUIDocument.Selection.GetElementIds().Count == 0) {
                MessageBox.Show("Please select elements and re-run test.", "No Elements Selected", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }

            GraphicsStreamRevit grStream = new GraphicsStreamRevit(m_revitApp);
            grStream.PushView(m_revitApp.ActiveUIDocument.Document.ActiveView);

            Options opts = m_revitApp.Application.Create.NewGeometryOptions();
            opts.ComputeReferences = true;
            opts.View = m_revitApp.ActiveUIDocument.Document.ActiveView;
            grStream.PushGeometryOptions(opts);

                // transform everything by 50 in both the X and Y axes
            Transform xform = new Transform(Transform.Identity);
            xform.Origin = new XYZ(50.0, 50.0, 0.0);
            grStream.PushXform(xform);
            var selElementIds = m_revitApp.ActiveUIDocument.Selection.GetElementIds();
           
            Document dbDoc = m_revitApp.ActiveUIDocument.Document;
            foreach (ElementId elemId in selElementIds) {
                grStream.Stream(dbDoc.GetElement(elemId));
            }
        }