Typo on line 427? Should call valueAsDouble() Also shouldn't all these methods use singular form eg valueAsOptionalDouble