再帰してNullチェックする関数一つ書けばいいのでは?