Source:
public static Value of( Object value ) { if ( value instanceof String ) { return stringValue( (String) value ); } if ( value instanceof Object[] ) { return arrayValue( (Object[]) value ); } if ( value instanceof Long ) { return longValue( (Long) value ); } if ( value instanceof Integer ) { return intValue( (Integer) value ); } if ( value instanceof Boolean ) { return booleanValue( (Boolean) value ); } if ( value instanceof Double ) { return doubleValue( (Double) value ); } if ( value instanceof Float ) { return floatValue( (Float) value ); } if ( value instanceof Short ) { return shortValue( (Short) value ); } if ( value instanceof Byte ) { return byteValue( (Byte) value ); } if ( value instanceof Character ) { return charValue( (Character) value ); } if ( value instanceof byte[] ) { return byteArray( ((byte[]) value).clone() ); } if ( value instanceof long[] ) { return longArray( ((long[]) value).clone() ); } if ( value instanceof int[] ) { return intArray( ((int[]) value).clone() ); } if ( value instanceof double[] ) { return doubleArray( ((double[]) value).clone() ); } if ( value instanceof float[] ) { return floatArray( ((float[]) value).clone() ); } if ( value instanceof boolean[] ) { return booleanArray( ((boolean[]) value).clone() ); } if ( value instanceof char[] ) { return charArray( ((char[]) value).clone() ); } if ( value instanceof short[] ) { return shortArray( ((short[]) value).clone() ); } if ( value == null ) { return NoValue.NO_VALUE; } throw new IllegalArgumentException( String.format( "[%s:%s] is not a supported property value", value, value.getClass().getName() ) ); }

Target:
public static Value of( Object value ) { if ( value instanceof String ) { return stringValue( (String) value ); } if ( value instanceof Object[] ) { return arrayValue( (Object[]) value ); } if ( value instanceof Long ) { return longValue( (Long) value ); } if ( value instanceof Integer ) { return intValue( (Integer) value ); } if ( value instanceof Boolean ) { return booleanValue( (Boolean) value ); } if ( value instanceof Double ) { return doubleValue( (Double) value ); } if ( value instanceof Float ) { return floatValue( (Float) value ); } if ( value instanceof Short ) { return shortValue( (Short) value ); } if ( value instanceof Byte ) { return byteValue( (Byte) value ); } if ( value instanceof Character ) { return charValue( (Character) value ); } if ( value instanceof byte[] ) { return byteArray( ((byte[]) value).clone() ); } if ( value instanceof long[] ) { return longArray( ((long[]) value).clone() ); } if ( value instanceof int[] ) { return intArray( ((int[]) value).clone() ); } if ( value instanceof double[] ) { return doubleArray( ((double[]) value).clone() ); } if ( value instanceof float[] ) { return floatArray( ((float[]) value).clone() ); } if ( value instanceof boolean[] ) { return booleanArray( ((boolean[]) value).clone() ); } if ( value instanceof char[] ) { return charArray( ((char[]) value).clone() ); } if ( value instanceof short[] ) { return shortArray( ((short[]) value).clone() ); } if ( value == null ) { return NoValue.NO_VALUE; } if ( value instanceof Value ) { throw new UnsupportedOperationException( "Converting a Value to a Value using Values.of() is not supported." ); } throw new IllegalArgumentException( String.format( "[%s:%s] is not a supported property value", value, value.getClass().getName() ) ); }