Increase the endBuffer pointer by one.
If there is not enough room in the buffer to go there, resize the byte buffer and read more data.
if there is no more data to read and if the endBuffer pointer has reached the end of the byte buffer, we return true.
Initialize variable space using the defaults, copy over the variables
from the parent (using copyVariablesFrom()), after this the "injected"
variables should be inserted (injectVariables()).