class GridResourceProxiedIgniteInjector extends GridResourceBasicInjector<Ignite> {
    /**
     * @param rsrc Resource.
     */
    public GridResourceProxiedIgniteInjector(Ignite rsrc) {
        super(rsrc);
    }

    /** */
    private Ignite ignite(Object target) {<FILL_FUNCTION_BODY>}

    /** {@inheritDoc} */
    @Override public void inject(GridResourceField field, Object target, Class<?> depCls, GridDeployment dep)
        throws IgniteCheckedException {
        GridResourceUtils.inject(field.getField(), target, ignite(target));
    }

    /** {@inheritDoc} */
    @Override public void inject(GridResourceMethod mtd, Object target, Class<?> depCls, GridDeployment dep)
        throws IgniteCheckedException {
        GridResourceUtils.inject(mtd.getMethod(), target, ignite(target));
    }
}

        GridKernalContext ctx = ((IgniteEx)getResource()).context();

        return ctx.security().sandbox().enabled() && !isSystemType(ctx, target, false)
            ? igniteProxy(getResource())
            : getResource();
    
<methods>public org.apache.ignite.Ignite getResource() ,public void inject(org.apache.ignite.internal.processors.resource.GridResourceField, java.lang.Object, Class<?>, org.apache.ignite.internal.managers.deployment.GridDeployment) throws org.apache.ignite.IgniteCheckedException,public void inject(org.apache.ignite.internal.processors.resource.GridResourceMethod, java.lang.Object, Class<?>, org.apache.ignite.internal.managers.deployment.GridDeployment) throws org.apache.ignite.IgniteCheckedException,public java.lang.String toString() ,public void undeploy(org.apache.ignite.internal.managers.deployment.GridDeployment) <variables>private final non-sealed org.apache.ignite.Ignite rsrc