#vulnerable code 
                                public Object getValue(Object ctx, Object elCtx, VariableResolverFactory variableFactory) {
        // return Math.sqrt(DataConversion.convert(p0.getValue(ctx, variableFactory), Double.class).doubleValue());
        return ((CharSequence) ctx).charAt(DataConversion.convert(p0.getValue(ctx, variableFactory), Integer.class));

        // return DataConversion.convert(new Integer(5), Integer.class);
    } 
                            #location 3 
                            #vulnerability type NULL_DEREFERENCE
#fixed code
                                public Object getValue(Object ctx, Object elCtx, VariableResolverFactory variableFactory) {
        // return Math.sqrt(DataConversion.convert(p0.getValue(ctx, variableFactory), Double.class).doubleValue());

        return Integer.class;

        //return ((CharSequence) ctx).charAt(DataConversion.convert(p0.getValue(ctx, variableFactory), Integer.class));

        // return DataConversion.convert(new Integer(5), Integer.class);
    }