pattern.java