absoluteMove method Null safety

XmlDocumentFragment absoluteMove(
  1. String profileToken,
  2. PtzPosition place,
  3. PtzPosition? speed
)

Implementation

static XmlDocumentFragment absoluteMove(
    String profileToken, PtzPosition place, PtzPosition? speed) {
  builder.element('AbsoluteMove', nest: () {
    builder.namespace(Xmlns.tptz); //tptz
    builder.element('ProfileToken', nest: () {
      builder.namespace(Xmlns.tptz);
      builder.text(profileToken);
    });
    builder.element('Position', nest: () {
      builder.namespace(Xmlns.tptz);
      builder.element('PanTilt', nest: () {
        builder.namespace(Xmlns.tt);
        builder.attribute('x', place.panTilt!.x);
        builder.attribute('y', place.panTilt!.y);
      });
      if (place.zoom != null) {
        builder.element('Zoom', nest: () {
          builder.namespace(Xmlns.tt);
          builder.attribute('x', place.zoom!.x);
        });
      }
    });
    if (speed != null) {
      builder.element('Speed', nest: () {
        builder.namespace(Xmlns.tptz);
        if (speed.panTilt != null) {
          builder.element('PanTilt', nest: () {
            builder.namespace(Xmlns.tt);
            builder.attribute('x', speed.panTilt!.x);
            builder.attribute('y', speed.panTilt!.y);
          });
        }
        if (speed.zoom != null) {
          builder.element('Zoom', nest: () {
            builder.namespace(Xmlns.tt);
            builder.attribute('x', speed.zoom!.x);
          });
        }
      });
    }
  });

  return builder.buildFragment();
}