[Tex/LaTex] Indented paragraphs

indentation

I want to show an indented paragraph in which indentation means the the top level condition is acquired (suppose a if then else structure) a copy of what I need is shown
Indented Structure

I have implemented this sample using the following code:

\documentclass{article}

\begin{document}

\newenvironment{myindentpar}[1]%
{\begin{list}{}
         {\setlength{\leftmargin}{#1}}
         \item[]
}
{\end{list}}

\begin{myindentpar}{1em}
\textbf{HelloMsg} 
\end{myindentpar}

\begin{myindentpar}{2em}
This is a text to fill the line.

\textbf{HelloMsg.Hello}
\end{myindentpar}

\begin{myindentpar}{3em}
 The Hello Message description goes here

 \textbf{HelloMsg.Hello.Ack}
\end{myindentpar}

\end{document}

But frankly speaking it looks so odd to me. Do we have any better way of doing this? Do we have a package that depicts some vertical lines that shows which item is underneath of the other? (such a thing is so common in programming environments. Some slim lines are drawn to show where a block ends)

Edit This section contains materials regarding the comments, it is not part of the main question.

\documentclass{article}

\begin{document}

this is the default indentation!!!

\noindent this is without indentation

\newenvironment{myindentpar}[1]%
{\begin{list}{}
         {\setlength{\leftmargin}{#1}}
         \item[]
}
{\end{list}}

\begin{myindentpar}{1em}
\textbf{HelloMsg (indented 1em)} 
\end{myindentpar}

\begin{myindentpar}{2em}

\textbf{HelloMsg.Hello (indented 2em)}
\end{myindentpar}

\begin{myindentpar}{3em}

 \textbf{HelloMsg.Hello.Ack (indented 3em)}
\end{myindentpar}

this is source of critic!

\newenvironment{herbertIndentPar}%
{\begin{list}{}
  {\addtolength\leftmargin{1em}}
   \item[]}
{\end{list}}

\begin{herbertIndentPar}
\textbf{Hello Herbert (I'm shifted 3em to the right! but my parameter says it must be shifted 2em one for the start of the paragraph and plus one for the passed 1em)} 

\begin{herbertIndentPar}

\textbf{HelloMsg.Hello}

\begin{herbertIndentPar}

 \textbf{HelloMsg.Hello.Ack}
\end{herbertIndentPar}
another line
\end{herbertIndentPar}
another line
\end{herbertIndentPar}

this is the source of critic (back to 1em indent)!

\end{document}

I am geting this output:
alt text

Best Answer

\documentclass{article}
\usepackage[showframe]{geometry}

\newlength\myLeftmargin

\newenvironment{herbertIndentPar}
  {\begin{list}{}%
    {\global\addtolength\myLeftmargin{\parindent}%
     \setlength\leftmargin{\myLeftmargin}%
     \listparindent=0pt
    }%
     \item\relax}
  {\end{list}\global\addtolength\myLeftmargin{-\parindent}}

\begin{document}



\begin{herbertIndentPar}
\textbf{Hello Herbert (I'm shifted 3em to the right! but my 
parameter says it must be shifted 2em one for the start of the 
paragraph and plus one for the passed 1em)} 

\begin{herbertIndentPar}
\textbf{HelloMsg.Hello}

\begin{herbertIndentPar}
\textbf{HelloMsg.Hello.Ack}
\end{herbertIndentPar}

another line
\end{herbertIndentPar}

another line
\end{herbertIndentPar}

this is the source of critic (back to 1em indent)!

\end{document}

alt text

Related Question