question: a list of product codes . concode_field_sep String snapshotId concode_elem_sep com.amazonaws.internal.SdkInternalList<ProductCode> productCodes concode_elem_sep com.amazonaws.internal.SdkInternalList<CreateVolumePermission> createVolumePermissions concode_field_sep void setSnapshotId concode_elem_sep DescribeSnapshotAttributeResult withProductCodes concode_elem_sep DescribeSnapshotAttributeResult withProductCodes concode_elem_sep int hashCode concode_elem_sep boolean equals concode_elem_sep String getSnapshotId concode_elem_sep DescribeSnapshotAttributeResult clone concode_elem_sep DescribeSnapshotAttributeResult withSnapshotId concode_elem_sep String toString concode_elem_sep java.util.List<CreateVolumePermission> getCreateVolumePermissions concode_elem_sep DescribeSnapshotAttributeResult withCreateVolumePermissions concode_elem_sep DescribeSnapshotAttributeResult withCreateVolumePermissions concode_elem_sep void setProductCodes concode_elem_sep void setCreateVolumePermissions
target: java . util . List < ProductCode > function ( ) { if ( productCodes == null ) { productCodes = new com . amazonaws . internal . SdkInternalList < ProductCode > ( ) ; } return productCodes ; }