@Override public List<Object[]> internalYield() throws LocalRunException { try { SecurityClient.open(); udf.close(); } catch (UDFException e) { throw new LocalRunException(e); } finally { SecurityClient.close(); } // avoid user to call function again udf = null; return buffer; }