thinking in java note