public static Annotation createBeforeAnnotation(String pointcutExpression, String argNames, int pos) {
char[][] typeName = new char[][] {org,aspectj,lang,annotation,before};
long[] positions = new long[] {pos,pos,pos,pos,pos};
TypeReference annType = new QualifiedTypeReference(typeName,positions);
NormalAnnotation ann = new NormalAnnotation(annType,pos);
Expression pcExpr = new StringLiteral(pointcutExpression.toCharArray(),pos,pos,1);
MemberValuePair[] mvps = new MemberValuePair[2];
mvps[0] = new MemberValuePair("value".toCharArray(),pos,pos,pcExpr);
Expression argNamesExpr = new StringLiteral(argNames.toCharArray(),pos,pos,1);
mvps[1] = new MemberValuePair("argNames".toCharArray(),pos,pos,argNamesExpr);