These classes are directly salvaged from Axis 1 codebase. Original author comments have been preserved!