IStatus status = astProvider.runOnAST(workingCopy, WAIT_NO, null, new ASTRunnable() {
@Override public IStatus runOnAST(ILanguage lang, IASTTranslationUnit ast) throws CoreException {
if (ast == null) {
return CANCEL_STATUS;
}
IASTNodeSelector nodeSelector= ast.getNodeSelector(null);
IASTNode selectedNode = nodeSelector.findEnclosingNode(offset, 1);
if (selectedNode instanceof IASTName) {
IASTName selectedName = (IASTName) selectedNode;
IBinding binding = selectedName.resolveBinding();
CppToProtobufMapping info = delegate.createMappingFrom(binding);
mappingReference.set(info);