private Feature buildFeature( int columnNumber, String token, Map<Integer, BiMap<String, Integer>> columnToCategoryNameToIDMapping) { InboundSettings inboundSettings = getInboundSettings(); if (inboundSettings.isNumeric(columnNumber)) { return NumericFeature.forValue(Float.parseFloat(token)); } if (inboundSettings.isCategorical(columnNumber)) { return CategoricalFeature.forValue( ClassifyServlet.categoricalFromString( columnNumber, token, columnToCategoryNameToIDMapping)); } return IgnoredFeature.INSTANCE; }