private Compilable firstOperand;
private Compilable secondOperand;
public byte[] compile() {
try {
if (firstOperand == null || secondOperand == null) {
throw new CompilationException("Not enough operands!");
}
ByteArrayOutputStream result = new ByteArrayOutputStream();
result.write(firstOperand.compile());
result.write(secondOperand.compile());
result.write(compileSelf());
return result.toByteArray();
} catch (IOException e) {
throw new CompilationException(e);
}
}