javadoc this constructor logic