code: public void marshall(VirtualInterface virtualInterface, ProtocolMarshaller protocolMarshaller) {
  
          if (virtualInterface == null) {
              throw new SdkClientException("Invalid argument passed to marshall(...)");
          }
  
          try {
              protocolMarshaller.marshall(virtualInterface.getOwnerAccount(), OWNERACCOUNT_BINDING);
              protocolMarshaller.marshall(virtualInterface.getVirtualInterfaceId(), VIRTUALINTERFACEID_BINDING);
              protocolMarshaller.marshall(virtualInterface.getLocation(), LOCATION_BINDING);
              protocolMarshaller.marshall(virtualInterface.getConnectionId(), CONNECTIONID_BINDING);
              protocolMarshaller.marshall(virtualInterface.getVirtualInterfaceType(), VIRTUALINTERFACETYPE_BINDING);
              protocolMarshaller.marshall(virtualInterface.getVirtualInterfaceName(), VIRTUALINTERFACENAME_BINDING);
              protocolMarshaller.marshall(virtualInterface.getVlan(), VLAN_BINDING);
              protocolMarshaller.marshall(virtualInterface.getAsn(), ASN_BINDING);
              protocolMarshaller.marshall(virtualInterface.getAmazonSideAsn(), AMAZONSIDEASN_BINDING);
              protocolMarshaller.marshall(virtualInterface.getAuthKey(), AUTHKEY_BINDING);
              protocolMarshaller.marshall(virtualInterface.getAmazonAddress(), AMAZONADDRESS_BINDING);
              protocolMarshaller.marshall(virtualInterface.getCustomerAddress(), CUSTOMERADDRESS_BINDING);
              protocolMarshaller.marshall(virtualInterface.getAddressFamily(), ADDRESSFAMILY_BINDING);
              protocolMarshaller.marshall(virtualInterface.getVirtualInterfaceState(), VIRTUALINTERFACESTATE_BINDING);
              protocolMarshaller.marshall(virtualInterface.getCustomerRouterConfig(), CUSTOMERROUTERCONFIG_BINDING);
              protocolMarshaller.marshall(virtualInterface.getMtu(), MTU_BINDING);
              protocolMarshaller.marshall(virtualInterface.getJumboFrameCapable(), JUMBOFRAMECAPABLE_BINDING);
              protocolMarshaller.marshall(virtualInterface.getVirtualGatewayId(), VIRTUALGATEWAYID_BINDING);
              protocolMarshaller.marshall(virtualInterface.getDirectConnectGatewayId(), DIRECTCONNECTGATEWAYID_BINDING);
              protocolMarshaller.marshall(virtualInterface.getRouteFilterPrefixes(), ROUTEFILTERPREFIXES_BINDING);
              protocolMarshaller.marshall(virtualInterface.getBgpPeers(), BGPPEERS_BINDING);
              protocolMarshaller.marshall(virtualInterface.getRegion(), REGION_BINDING);
              protocolMarshaller.marshall(virtualInterface.getAwsDeviceV2(), AWSDEVICEV2_BINDING);
          } catch (Exception e) {
              throw new SdkClientException("Unable to marshall request to JSON: " + e.getMessage(), e);
          }
      }
docs: Marshall the given parameter object.