src/edu/clemson/resolve/jetbrains/psi/impl/ResNamedElementImpl.java
/**
     * Ok, here's the deal: this will basically look to our right hand side siblings of {@code this} AST (Jetbrains speak: PSI) node for a math exp
     * and return the first one it finds.
     * <p>
     * Here's the thing though, this is not good/flexible enough since we also want to return a ResType, think in the case of a parameter
     * decl: there we'll want a ResType, resolve that, and get back to the math expr.</p>
     */
Ok, here's the deal: this will basically look to our right hand side siblings of  this AST (Jetbrains speak: PSI) node for a math exp
and return the first one it finds.

Here's the thing though, this is not good/flexible enough since we also want to return a ResType, think in the case of a parameter
decl: there we'll want a ResType, resolve that, and get back to the math expr.
Ok here ' s the deal : this will basically look to our right hand side siblings of this AST ( Jetbrains speak : PSI ) node for a math exp and return the first one it finds . Here ' s the thing though this is not good / flexible enough since we also want to return a ResType think in the case of a parameter decl : there we ' ll want a ResType resolve that and get back to the math expr .
@Nullable
    @Override
    public ResMathExp findSiblingMathMetaType() {
        ResMathExp purelyMathTypeExp = PsiTreeUtil.getNextSiblingOfType(this, ResMathExp.class);
        if (purelyMathTypeExp != null) return purelyMathTypeExp;
        ResType progType = findSiblingType();
        if (progType != null && progType.getTypeReferenceExp() != null) {
            PsiElement resolvedProgramType = progType.getTypeReferenceExp().getReference().resolve();
            if (resolvedProgramType instanceof ResTypeLikeNodeDecl) {
                return ((ResTypeLikeNodeDecl) resolvedProgramType).getMathMetaTypeExp();
            }
        }
        return null;
    }
@ Nullable @ Override public ResMathExp findSiblingMathMetaType ( ) { ResMathExp purelyMathTypeExp = PsiTreeUtil . getNextSiblingOfType ( this , ResMathExp . class ) ; if ( purelyMathTypeExp != null ) return purelyMathTypeExp ; ResType progType = findSiblingType ( ) ; if ( progType != null && progType . getTypeReferenceExp ( ) != null ) { PsiElement resolvedProgramType = progType . getTypeReferenceExp ( ) . getReference ( ) . resolve ( ) ; if ( resolvedProgramType instanceof ResTypeLikeNodeDecl ) { return ( ( ResTypeLikeNodeDecl ) resolvedProgramType ) . getMathMetaTypeExp ( ) ; } } return null ; }
Ok, here's the deal: this will basically look to our right hand side siblings of {@code this} AST (Jetbrains speak: PSI) node for a math exp
 and return the first one it finds.
Ok here ' s the deal : this will basically look to our right hand side siblings of { @code this } AST ( Jetbrains speak : PSI ) node for a math exp and return the first one it finds .
//ok, maybe we're dealing with a programmatic type or something...