¿Cómo devolver un archivo con Google Cloud Endpoints?

Tengo un método que genera un archivo CSV con algunos registros db

    public static void generateCsvForAttendees( List<Attendee> attendeeList ) throws FileNotFoundException
    {
        PrintWriter pw = new PrintWriter(new File("test.csv"));

        StringBuilder sb = new StringBuilder();

        //Header
        sb.append( "Id" );
        sb.append( ',' );
        sb.append( "Name" );
        sb.append( ',' );
        sb.append( "Lastname" );
        sb.append('\n');

        //Content
        for( Attendee attendee: attendeeList )
        {
            sb.append( attendee.getId() );
            sb.append( ',' );
            sb.append( attendee.getUser().getName() );
            sb.append( ',' );
            sb.append( attendee.getUser().getLastname() );
            sb.append( '\n' );

        }

        pw.write(sb.toString());
        pw.close();
    }

Me gustaría que ese método fuera un punto final para invocarlo desde cualquier tipo de cliente (web o móvil) para descargarlo. En elDocumentación de Google Cloud Endpoint&nbsp;No hay nada acerca de Archivo como un tipo de retorno válido. ¿Cómo podría crear y endpoint que devuelven un archivo?