Design Patterns & Utilities for java