Что вам нужно, так это поддержка аргументов по умолчанию. У Java нет такой возможности, но она более или менее имитирует эту возможность.
Один простой способ - использовать перегрузку метода.
Другой подход заключается в непосредственном выявлении особых случаев и последующей замене значений по умолчанию.
Вот пример смешивания обоих этих подходов Иво Лиммен :
public void test() {
this.test(null, null);
}
public void test(String p1) {
this.test(null, null);
}
public void test(String p1, String p2) {
if(p1 == null) {
...
} else {
...
}
if(p2 == null) {
...
} else {
...
}
}
Очень интересный подход, который я нашел, заключается в использовании шаблона Design Builder. Вот пример здесь
Здесь также есть интересная дискуссия здесь