Swingのライブラリを使っている上で気になったのですが、

例えば、JFrameのsetSize(Dimension d)は縦横のプリミティブ値を
コピーしたものをsetしているけど、setLayout(LayoutManager manager)は
LayoutManagerのインスタンスの参照を直接setしてますよね?

このように、あるクラスAのsetメソッドの引数がプリミティブ型ではなく、
あるクラスBのインスタンスの参照を渡すようになっている場合において、
そのAのsetメソッドの中で、Bのインスタンスの参照が直接setされるのか、
Bのフィールドの値をコピーしてsetするのか、どちらを行なっているのかを
知るためには、ライブラリのドキュメントを確認するしかないのでしょうか?

setメソッドだけではなく、その他の参照を引数に取るメソッドや、
参照が戻り値になってるメソッドにおいても、色々と怖いような気がします

もし、Javaの基本原則として「参照を直接setしちゃダメ(もしくは逆)」みたいな
暗黙の規則があるのならばそれも教えていただきたいです