protected double[] getNumericFeatureArrayFromMethods(Object o)
	{
		ResizableDoubleArray arr = new ResizableDoubleArray();
		
		if(this.numericFeatureMethods == null)
		{
			this.initNumericFeatureMethods(o);
		}
		for(String methodName : this.numericFeatureMethods)
		{
			Method m = null;
			try
			{
				m = o.getClass().getMethod(methodName);
			}
			catch (SecurityException e)
			{
				LOG.error(e);
			}
			catch (NoSuchMethodException e)
			{
				LOG.error(e);
			}
			Annotation annotation = m.getAnnotation(NumericFeature.class);
			
			if (annotation != null)
			{
				m.setAccessible(true);
				try
				{
					arr.addElement(Double.parseDouble(m.invoke(o).toString()));
				}
				catch (NumberFormatException e)
				{
					LOG.error(e);
				}
				catch (IllegalArgumentException e)
				{
					LOG.error(e);
				}
				catch (IllegalAccessException e)
				{
					LOG.error(e);
				}
				catch (InvocationTargetException e)
				{
					LOG.error(e);
				}
			}
		}

		return arr.getElements();

	}