ByteBuffer pbuf = BufferUtils.createByteBuffer(program.length); pbuf.put(program); pbuf.rewind();
	private void create() {		//first assert that the program is loaded		if (program == null) {			LoggingSystem.getLogger().log(Level.SEVERE,					"Attempted to apply unloaded vertex program state.");			return;		}		IntBuffer buf = BufferUtils.createIntBuffer(1);		ByteBuffer pbuf = BufferUtils.createByteBuffer(program.length);		pbuf.put(program);		pbuf.rewind();		ARBVertexProgram.glGenProgramsARB(buf);		ARBVertexProgram.glBindProgramARB(				ARBVertexProgram.GL_VERTEX_PROGRAM_ARB, buf.get(0));		ARBVertexProgram.glProgramStringARB(				ARBVertexProgram.GL_VERTEX_PROGRAM_ARB,				ARBVertexProgram.GL_PROGRAM_FORMAT_ASCII_ARB, pbuf);		checkProgramError();		programID = buf.get(0);	}