Adaptive Discontinuous Galerkin Finite Element Methods