static NGS_String_v1 * NGS_ReadCollection_v1_get_name ( const NGS_ReadCollection_v1 * self, NGS_ErrBlock_v1 * err )
{
    HYBRID_FUNC_ENTRY ( rcSRA, rcRefcount, rcAccessing );
    ON_FAIL ( NGS_String * ret = NGS_ReadCollectionGetName ( Self ( self ), ctx ) )
    {
        NGS_ErrBlockThrow ( err, ctx );
    }
struct NGS_String * CSRA1_PileupEventGetAlignmentId ( const CSRA1_PileupEvent * self, ctx_t ctx )
{
    FUNC_ENTRY ( ctx, rcSRA, rcCursor, rcAccessing );
    TRY ( CHECK_STATE ( self, ctx ) )
    {
        NGS_ReadCollection * coll = self -> dad . dad . ref -> coll;
        TRY ( const NGS_String * run = NGS_ReadCollectionGetName ( coll, ctx ) )
        {
            enum NGS_Object obj_type = self -> entry -> secondary ?
                NGSObject_SecondaryAlignment : NGSObject_PrimaryAlignment;
            return NGS_IdMake ( ctx, run, obj_type, self -> entry -> row_id );
        }
    }
    return NULL;
}