First pattern i learned: how to avoid an else: value = else-value ; if ( ... ) value = conditional-value; ------- method returns null or good object. reduce code: public String getMethodNameForOperator(String op) { String name = aliases.get(op); if ( name==null ) { Tool.error("no such operator for "+name+": "+op); } return name; } --------- class org class T ... { const static fields fields ctors methods util, support toString() } ------------ if ( cond ) return true; else return false; -> return cond; ----------- exchange values List tmp = pong; pong = ping; ping = tmp;