a1 = a1.dereference();
if (a1.isVariable()) {
throw new PInstantiationException(this, 1);
} else if (a1.isSymbol()) {
if (!engine.getStreamManager().containsKey(a1)) {
throw new ExistenceException(this, 1, "stream", a1, "");
}
stream = ((JavaObjectTerm) engine.getStreamManager().get(a1))
.object();
} else if (a1.isJavaObject()) {
stream = ((JavaObjectTerm) a1).object();