javadoc for Factory