Computing FOLLOW sets for LL(1) grammar. Stuck on question Calculate the FOLLOW sets for all the non terminals:
  
  $S \rightarrow bEx \mid Db \mid b \mid F$
  
  $D \rightarrow EDc \mid Y$ 
  
  $E \rightarrow dED \mid dDY$
  
  $Y \rightarrow ab \mid aDx \mid \varepsilon$


So I know that:

FOLLOW($S$) = $\{\$\}$ since it doesn't appear anywhere

FOLLOW($D$) = $\{b, a, x, c\}$, since it is followed by terminal $b$ in $S$, $c$ in $D$, FIRST($Y$) in $E$ which is $\{a\}$ ($\varepsilon$ not included), and $x$ in $Y$

FOLLOW($E$) = $\{x, c, a, d\}$, since it is followed by terminal $x$ in $S$, FIRST($D$) in $D$ which is $\{a, d, c\}$ 

but how do I calculate FOLLOW($Y$)? It isn't followed by anything. I'm guessing since it's at the end of $D$ and $E$ its the union of their follow sets including $\$$ since there's an $\varepsilon$? 

Have been stuck on this for a while, any help is HIGHLY appreciated. Thanks in advance for any input
$FOLLOW\ (Y) = FOLLOW\ (D)$
  
  $FOLLOW\ (Y) = FOLLOW\ (E)$


A general Rule of thumb is, for any grammar


S -> XAB
A -> BC
X -> Bt


$
Follow (B) = Follow (S)  $
(Since there isn't anything after B in Production-1)

$Follow (B) = First (C) $ (Since C follows B in Production-2 and is a non-terminal)

$Follow (B) = t $ (since it follows B in Production-3 and is a terminal)