operateCounter(o);
return o;
}
if (object instanceof ASTNode) {// ASTNode
ASTNode node = (ASTNode) object;
if (property.equals("type")) {// ASTNode.type
operateCounter(object);
return ASTNode.nodeClassForType(node.getNodeType());
}
}
if (object instanceof CompilationUnit) {// JavaFile
Object o = CompilationUnitProperties.getProperty(property).run(
(ASTNode) object);
operateCounter(o);
return o;
}
if (object instanceof TypeDeclaration) {// Class
Object o = TypeDecProperties.getProperty(property).run(
(ASTNode) object);
operateCounter(o);
return o;
}
if (object instanceof EnumDeclaration) {// Enumeration
Object o = EnumDecProperties.getProperty(property).run(
(ASTNode) object);
operateCounter(o);
return o;
}
if (object instanceof FieldDeclaration) {// Field
Object o = Properties.getProperty(property).run(
(ASTNode) object);
operateCounter(o);
return o;
}
if (object instanceof MethodDeclaration) {// Method
Object o = Properties.getProperty(property).run(
(ASTNode) object);
operateCounter(o);
return o;
}
if (object instanceof VariableDeclaration) {// VariableDeclaration
if (object instanceof SingleVariableDeclaration) {
Object o = SingleVariableDecProperties
.getProperty(property).run((ASTNode) object);
operateCounter(o);
return o;
}
if (object instanceof VariableDeclarationFragment) {
Object o = VariableDecFragProperties.getProperty(property)
.run((ASTNode) object);
operateCounter(o);
return o;
}
}
// Statement or Expression
if ((object instanceof Statement) || (object instanceof Expression)
|| (object instanceof CatchClause)) {
ASTNode node = (ASTNode) object;
Object o = Properties.getProperty(property).run(node);
operateCounter(o);
return o;
}
} catch (NullPointerException e) {